jQuery.bind () не будет работать с внешними документами. По крайней мере, в jQuery 1.6.2.
Однако вы можете привязаться к событиям DOM:
$("iframe").contents().find("img").onclick = function() { // do your staff here };
Если на данный момент у вас нет полного списка изображений, вы можете использовать распространение событий:
$("iframe").contents().find("body").onclick = function() { // do your staff here };
Будет работать событие с пользовательскими событиями:
$("iframe").contents().find("body").onmyevent = function() { // do your staff here };
Еще одна вещь, которую нужно помнить ... содержимое кадра загружается асинхронно. Так что связывайте свои обработчики ПОСЛЕ загрузки содержимого iframe:
var $iframe = $("iframe");
$iframe.bind("load", null, funcion(e) {
$iframe.contents().find("body").onclick = function() { // do your staff here };
});
В более сложных случаях обрабатывайте клики на изображениях внутри iframe и запускайте пользовательские события, которые впоследствии можно будет обрабатывать на уровне тела. Особенно, если у вас полностью динамический контент и вы хотите привязать к «живым» событиям внутри iframe.