Mam funkcję resizePreview()
, która zmieni rozmiar obrazu w oknie dialogowym jQuery, jeśli obraz jest zbyt duży. Ten obraz może zostać zmieniony przez użytkownika. Mój kod wygląda mniej więcej tak:Zdarzenie JavaScript w przypadku zmiany atrybutu "src" obrazu?
$('#imagePreview').attr('src', newImageSrc);
resizePreview();
resizePreview()
wykorzystuje $('#imagePreview').width()
i .height()
dostać wymiarów i odpowiednio zmienia rozmiar. Problem polega na tym, że nowy obraz nie jest ładowany przez czas, dlatego obraz jest zmieniany zgodnie z jego oryginalnymi wymiarami, a nie zgodnie z wymiarami nowo załadowanego obrazu.
Jeśli wstawię połączenie alert()
pomiędzy dwoma wierszami kodu, działa (ponieważ alarm daje przeglądarce wystarczającą ilość czasu na załadowanie nowego obrazu). Podobno powinienem skorzystać z imprezy? Czy istnieje jakieś wydarzenie, czy też istnieje sposób, w jaki mogę je wykonać, ponieważ po zmianie obrazu src (coś w rodzaju zdarzenia onChange, ale w przypadku tego atrybutu) lub po zakończeniu ładowania nowego obrazu? Dziękuję za Twój czas.
Gotowy do pracy, dzięki! – CMB
Wierzę, że jest to poprawny link: http://api.jquery.com/load-event/ – mxro
Użyłem tego kodu przed $ (window) .load(); i $ (dokument) .ready(); i pracował. – ivahidmontazer