0

如何将点击事件分配给 ifraem 中的元素?

我开始发帖检测 iframe 是否已加载。

如何检测是否加载了 iframe?

我还有其他问题

如何在 iframe 中分配事件或操作元素?

我试过..

$(function(){
    $('#click').on('click', function(){
        var ifr=$('<iframe></iframe>', {
            id:'MainPopupIframe',
            src:'http://heera.it',
            style:'display:none',
            load:function(){
                $(this).show();
                alert('iframe loaded !');
            }
        });
        $('body').append(ifr);    

    //when I click the home page button, nothing happen...
    $('#menu-item-277').click(function(){
       alert('click!!!');
    })
    });
});
​

谢谢您的帮助。

4

2 回答 2

1

由于跨域安全限制(同源策略),如果 iframe 的内容存在于父页面以外的域上,则这是不可能的。

如果您可以访问这两个域,则可以尝试使用诸如 Ben Alman 出色的PostMessage之类的插件来设置跨域/跨浏览器 iframe 通信流。然后,您可以绑定到click本地 DOM 元素的事件并向 iframe 发送消息,其中轮询循环可以侦听它并click在 iframe 内触发事件。

我希望这有帮助。

于 2012-09-04T20:45:23.493 回答
0

由于相同的原产地政策,您不能这样做。基本上,iframe 必须与尝试修改它的脚本位于同一域中。

于 2012-09-04T20:45:00.770 回答