javascript - 父页面监听iframe中的事件问题

查看:1005
本文介绍了javascript - 父页面监听iframe中的事件问题的处理方法,对大家解决问题具有一定的参考价值,需要的朋友们下面随着小编来一起学习吧!

问题描述

问 题

始终无法监听到,是什么原因?

parent.html

<body>
    <iframe id="iframe" src="son.html" frameborder="0"></iframe>

<script src="./jquery.js"></script>
<script>
    $(function(){
        $($('#iframe')[0].contentWindow).on('dosomething', function(){
            alert('接收到到iframe的事件');
        });
    });
</script>
</body>

son.html

<body>
    
    <h1>son</h1>
    <button id="button">trigger</button>

<script src="./jquery.js"></script>
<script>
    $(function(){
        $('#button').on('click', function(){
            $(window).trigger('dosomething');
        });
    });
</script>
</body>

谢谢!

Dont

刚才搜索时发现的,也不错,兼容性可以
MessengerJS
https://github.com/biqing/Mes...
跨文档通信解决方案

解决方案

son.html

 $(function(){
        $('#button').on('click', function(){
            window.parent.$(window).trigger('dosomething');
        });
    });

事件是在父页面的jquery里定义的,要触发需要交由父页面的jquery来负责触发。

jquery源码太久没看了,找半天,没找到对应的内容来说明。

这篇关于javascript - 父页面监听iframe中的事件问题的文章就介绍到这了,希望我们推荐的答案对大家有所帮助,也希望大家多多支持IT屋!

查看全文
登录 关闭
扫码关注1秒登录
发送“验证码”获取 | 15天全站免登陆