12

我有一个 html 页面。在其中,我使用 jQuery 在链接上附加点击事件。然后我使用 iframe 从另一个页面引用这个 html 页面。但是我无法使用 js 触发附加在该链接上的事件(当我用鼠标单击链接时,事件被触发没有问题)。如何从父框架触发该事件?我尝试了以下方法,但它不起作用:

var frame = $('#mainFrame'); // the iframe I am trying to access
var link = $('a.btn', frame.contents()); // the element is found correctly
link.trigger('click');  // nothing happens. 
var e = link.data('events');  // e is undefined. 
4

2 回答 2

16

这是你如何做到的。

document.getElementById('ifrmMsg').contentWindow.$('a:first').trigger('click');

您也可以postMessage()用于此目的。它也可以跨域工作。但是iframe里面的JS必须监听message事件,即你需要控制iframe的来源。

于 2013-11-06T12:50:37.353 回答
2

只需将 onload() 事件放在 iframe 标记内。

<iframe src="http://myURL.com" onload="myFunction()">
于 2016-02-09T19:17:15.057 回答