我知道我只能在一個窗口中觸發事件。不過,我想這樣的: 在頂部的窗口,我寫道:如何從頂層窗口觸發事件到iframe?
jQuery('#some-popup').trigger('opened-popup');
而在iframe中我寫道:
$("#some-popup", window.parent.document).bind('opened-popup', function() {
alert('ok');
});
我在做什麼錯?
我知道我只能在一個窗口中觸發事件。不過,我想這樣的: 在頂部的窗口,我寫道:如何從頂層窗口觸發事件到iframe?
jQuery('#some-popup').trigger('opened-popup');
而在iframe中我寫道:
$("#some-popup", window.parent.document).bind('opened-popup', function() {
alert('ok');
});
我在做什麼錯?
在你的框架試試這個:
,而不是
$("#some-popup", window.parent.document).bind('opened-popup', function() {
alert('ok');
});
做到這一點
parent.$("#some-popup", window.parent.document).bind('opened-popup', function() {
alert('ok');
});
有到位的jQuery的兩個實例,一個家長和一個用於框架。你在父類的jQuery上觸發事件,但是在框架自己的jQuery中附加它。如果您在子級中附加父級的jQuery,則bind(或.on())應該可以工作。
編輯:您可能不需要「窗口.parent.document」綁定後,您附加到父項事件。
你的iframe是否也包含jQuery,它們在同一個域上? – antyrat 2014-09-26 15:04:10
iframe需要jQuery和Windows有一個域 – Dmitro 2014-09-26 15:06:21
我認爲你需要做一些像frame.window.jQuery(「」#popup).trigger – artm 2014-09-26 15:24:40