Прикрепить обработчик кликов даже к элементу внутри iframe с помощью jQuery - PullRequest
15 голосов
/ 01 ноября 2009

Как я могу прикрепить обработчик события click к элементу внутри iframe?

Вот что я пробовал и не работает:

$("#parent iframe").contents().find("a").live("click", function () {
    alert ("test");
    return false;
});

iframe находится в том же домене.

Ответы [ 2 ]

11 голосов
/ 01 ноября 2009

Обнаружена проблема. LIVE не работает внутри iframe. Переключение на привязку работает нормально. Вместо этого будет выполнять ручное делегирование событий.

0 голосов
/ 01 ноября 2009

В основном, вероятно, не так, как по предположению, контент, вероятно, будет из другого домена (обычное использование iFrames). Эти статьи объясняют, почему:

iframes и междоменная безопасность Междоменная небезопасность Ajax

В качестве альтернативы вам потребуется изменить исходный код в iFrame (если вы контролируете его) или вы можете попросить пользователей снизить безопасность своего браузера (это может быть возможно в интрасети, но даже тогда это не очень хорошая идея).

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...