jquery - 在 IFRAME 中附加点击事件

标签 jquery

基本上我有一个显示给定页面的 IFRAME。我使用 jQuery 在加载时在 IFRAME 中附加多个 DIV:

$('#portal').load(function(){
    $('#portal').contents().find('.callout').append('<div class="overlay">Test</div>');
});

(#portal 是 IFRAME)

现在我想将单击事件处理程序附加到这些新的 DIV。我相信,由于我是动态创建 DIV,所以我需要使用 on() 函数,但我在执行此操作时遇到了困难。我尝试过:

$('#portal').on('click', '.overlay', function(){
    alert("Test");
});

以上两段代码位于一个只能在父页面访问的JS文件中,即IFRAME本身并不引用该JS文件。

最佳答案

$('#portal').on(..) 更改为 $('#portal').contents().find('body').on(. .)

$('#portal').contents().find('body').on('click', '.overlay', function(){
    alert("Test");
});

关于jquery - 在 IFRAME 中附加点击事件,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/9179145/

相关文章:

javascript - 返回 Javascript 变量和性能

javascript - iFrame src 更改事件检测?

jquery - HTML Select 仅添加到最后一行

c# - 在 Asp.net webforms 中从 JavaScript/JQuery 调用 C# 函数

javascript - 使用javascript将逗号后的数字四舍五入到两位数以内

javascript - 如何使用 JS 获取完整的 HTML 标签并放入文本区域

javascript - jQuery 在 keyup 上使用类获取输入 ID 不起作用

javascript - 需要 jQuery 对话框进行确认并将 Ajax 请求发送到 Controller 操作

javascript - 如何在不使用 jQuery 的情况下制作水平滑动条

javascript - 如何在刷新时保存页面元素