使用iframe中的父窗体捕获点击
Capture clicks with parent form from iframe
我有一个带有iframe的父页面。在iframe中有一个标记。在父页面上,当按下该标记时,我可以触发事件吗?我知道,如果我把捕获事件的javascript放在iframe中,它就会工作,但对于我的项目,我需要让父页面捕获它。到目前为止,这是我的代码。父代码:
<html>
<head>
<script src="https://ajax.googleapis.com/ajax/libs/jquery/1.9.0/jquery.min.js" type="text/javascript"></script>
<script type="text/javascript">
var $MyFrame= $("#myiframe");
$MyFrame.on("click", "a", function (e) {
alert("hello");
});
</script>
</head>
<body>
<iframe id="myiframe" height="3500" width="950" src="Iframe page" frameborder="0" style="display: block; margin: 10px auto;"></iframe>
</body>
</html>
这是我在iframe:中的页面
<html>
<head>
</head>
<body>
<a href="www.google.com">Click Me!</a>
</body>
</html>
这可能吗?
var $MyFrame = $("#myiframe");
// You need to wait for the iFrame content to load first
// So, that the click events work properly
$MyFrame.load(function () {
var frameBody = $MyFrame.contents().find('body');
frameBody.find('a').click(function () {
// here is the iframe a click callback
alert("hello");
});
});
不确定,但如果帧源在同一原点:,这可能会帮助您使用.contents()
var $MyFrame= $("#myiframe");
$MyFrame.contents().find('a').on("click", function (e) {
alert("hello");
});
我注意到你已经分配了一个id
,并且你正在用class
引用那个帧。
您的myiframe
是id
而不是class
。。使用id选择器#
试试这个
var $MyFrame= $("#myiframe");
$MyFrame.on("click", "a", function (e) {
alert("hello");
});
相关文章:
- 防止Iframe窗体在新窗口中打开
- 将样式表插入iframe
- 在Twitter上用ie9中的空白src访问iframe的contentWindow
- Meteor-将选定窗体中的对象添加到集合中
- 使用jQuery从原始页面内容创建iframe
- Highslide(iframe的侦听器)
- iframe正在添加标签,需要删除它们
- 通过javascript/html访问twitter共享iframe
- 如何在Facebook上的iframe应用程序中使后退按钮返回到上一页
- 如何使用Angular动态添加iframe-src
- 如何在窗体打开时从javascript倒计时计时器值中节省时间
- 由于iframe导致的问题
- 正在从页面中删除iframe
- 如何将元素附加到 iframe 窗体
- 在不单击提交的情况下将文本区域值从iframe传递到父窗体
- 如何在不使用iframe的情况下创建灯箱弹出窗体
- 而不使用iframe进行灯箱弹出窗体
- 使用iframe中的父窗体捕获点击
- Iframe窗体结果
- 窗体post在iframe重定向父到post URL