#javascript #jquery
#javascript #jquery
Вопрос:
У меня есть HTML-страница, которая использует javascript / jquery для перезагрузки содержимого iframe:
$('#my-frame').attr("src","someotherpageinthesamedomain");
Чего бы я хотел, так это иметь возможность манипулировать HTML-кодом iframe после его перезагрузки. Я попробовал это:
$("#my-frame").load(dostuff());
Но это не дождется перезагрузки — я предполагаю, потому что iframe уже загружен со своим исходным содержимым.
Комментарии:
1. вы передаете результат
dostuff()
. Вам нужно передать ссылку на функциюdostuff
(без круглых скобок)
Ответ №1:
Вы должны передать функцию, а не вызывать ее:
$("#my-frame").load(dostuff);
// no () here --^
Помещение круглой скобки после имени функции немедленно вызывает функцию и, в вашем случае, передаст возвращаемое значение в .load()
(что нормально, если возвращаемое значение является функцией, но я предполагаю, что это не так).
И да, возможно, вам придется установить обработчик перед изменением src
атрибута.
Комментарии:
1. Хах. Спасибо, что поймали мою ошибку javascript n00b. =)