2014-02-05 6 views
0

У меня есть родительская страница abc.html имеющая функцию нижесвязывают нажмите событие с родительской страницы на изображении в Iframe

function displayImageDialog(path){ 
    //alert(path); 
} 

И HTML кода

<iframe src="xyz.html" onLoad="javascript:onloadCall();" name="loadpageframe" id="loadpageframe"></iframe> 

Теперь в IFrame, несколько img тегов доступны, как связать событие click на этом img. В настоящее время я могу назначить заголовок для каждого img тега

function onloadCall(){ 
    var $currIFrame = $('#loadpageframe'); 
    var img = $currIFrame.contents().find("img"); 
    for(var i=0;i<img.length;i++){ 
     img[i].title='Click to enlarge'; 

     //TODO click event code to pass img src attribute to 
     // function displayImageDialog(src) 

    } 
} 

Я не хочу, чтобы изменить мою страницу в пределах IFrame в all.So Я ищу решения

+0

Какой именно вы пытаетесь сделать? –

+0

Я хочу отобразить изображение в диалоговом окне на картинке нажмите –

+0

OKey позвольте мне создать демо для вас –

ответ

1

Привет попробовать это работает на мой конец.

function onloadCall(){ 
var $currIFrame = $('#loadpageframe'); 
var img = $currIFrame.contents().find("img"); 
for(var i=0;i<img.length;i++){ 
    img[i].title='Click to enlarge'; 
    img[i].onclick = function(){ 
     alert('hi'); 
     displayImageDialog($(this).attr('src')); 
    }; 
    //TODO click event code to pass img src attribute to 
    // function displayImageDialog(src) 

    } 
} 

function displayImageDialog(src){ 
alert(src); 

} 
1

Попробуйте

$(function(){ 
var frm = window.frames["loadpageframe"].window;//if iframe is test 

    $(frm).find("img").on("click",function() { 
     $(this).attr('title','sometext'); 
    // do something 
    }); 
}); 

поместить этот код вне фрейма

+0

где это поставить? если в onloadCall он не работает –

Смежные вопросы