javascript - 如何在尚不存在的 iframe 上绑定点击事件?
问题描述
我想在页面上动态创建的一些 iframe 上绑定一个事件。
有一种方法可以在页面上尚不存在的常规元素上绑定事件,使用 jQuery 的 .on() 方法,并将选择器作为第二个参数传递。像这样 :
$(document).on('click', 'div', () => {
// some code
});
但我猜 iframe 的行为不同。这不起作用:
$(document).on('click', 'iframe', () => {
// some code
});
我也想到了这些:
$(window).on('click', 'document', () => {});
// or
$(document).on('click', 'body', () => {});
他们都没有工作。
我还想到了另一种方法:
$(document).on('load', 'iframe', e => {
$(e.target).contents().find('body').on('click', () => {
// some code
});
});
甚至没有绑定 iframe 的加载事件。
我可能能够用完全不同的方法来处理它。我可以在代码中的其他位置绑定 click 事件,每次创建 iframe 时,它们实际上“存在”在页面中,然后我可以将我想要的任何事件绑定到它们。但我想把它作为最后的解决方案。如果有办法在页面加载时为将在页面中动态创建的任何 iframe 绑定这些事件,请提出解决方案。
更新:我在同一个域上,所以跨域限制不适用。
解决方案
推荐阅读
- mysql - Python MySQL连接器插入,但信息实际上不在数据库中
- angular - CKEditor4 w/Angular8:工具栏中缺少按钮
- python - 与等待并行运行方法
- javascript - 承诺控制流
- reactjs - 当我尝试导入 DropDown react-native 时出错
- javascript - 如何设置 Firebase 规则以仅允许我的网站将数据读/写到 Firebase 存储?
- c# - CSharp 和 CSharp-NetCore 生成器之间的 OpenAPI 区别
- bash - 更改 .bashrc 和 .bash_profile 后终端无法正确更新
- google-cloud-platform - GMB MyBusiness API - 如何设置实时 PubSub 通知?
- r - 如何一次读取多个 txt 文件并使用 R 合并为一个 df?