从iframe触发jQuery事件

从iframe触发jQuery事件,第1张

概述这是场景,我有一个事件发生在一个iframe之内,直到现在一切都很好。我刚刚遇到了一个问题,我想将一个事件从iframe发送到父进程。 我正在使用它来触发iframe中的事件: $('body', window.parent.document).trigger('eventName');//and I've also tried$(window.parent.document).find('b 这是场景,我有一个事件发生在一个iframe之内,直到现在一切都很好。我刚刚遇到了一个问题,我想将一个事件从iframe发送到父进程。

我正在使用它来触发iframe中的事件:

$('body',window.parent.@R_404_4617@).trigger('eventname');//and I've also trIEd$(window.parent.@R_404_4617@).find('body').trigger('eventname');

然后在父母页面中,我正在听这样的事件:

$('body').bind('eventname',myFunction)

我知道脚本得到触发器,因为我在触发器之前和之后卡住了一个console.log。 iframe在同一个域,所以没有问题。

我可以直接在父页面上调用一个函数,如下所示:window.parent.functionname,但我想知道是否可以使用基于事件的解决方案。

解决了

@cwolves的答案是非常好的:

parent.$('body').trigger( 'eventname' );
@H_301_20@解决方法 如果您在父框架中加载了jquery,请尝试:
parent.$('body').trigger( 'eventname' );

如果没有,尝试这个,我不知道它是否会工作,但我只是看着jquery源码,并认为它可能:

var pBody = $( parent.@R_404_4617@.body );pBody.trigger( 'eventname',pBody.data() );

(当绑定eventname时也做同样的事情)据我所知,这个问题是jquery正在使用本地页面的数据,这是因为它正在尝试从另一个框架加载数据而引起问题。换句话说,这是一个混乱,但在.bind,.trigger等中接受了数据参数。

@H_301_20@ @H_301_20@ 总结

以上是内存溢出为你收集整理的从iframe触发jQuery事件全部内容,希望文章能够帮你解决从iframe触发jQuery事件所遇到的程序开发问题。

如果觉得内存溢出网站内容还不错,欢迎将内存溢出网站推荐给程序员好友。

欢迎分享,转载请注明来源:内存溢出

原文地址:https://54852.com/web/1114017.html

(0)
打赏 微信扫一扫微信扫一扫 支付宝扫一扫支付宝扫一扫
上一篇 2022-05-29
下一篇2022-05-29

发表评论

登录后才能评论

评论列表(0条)

    保存