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 に答える