当前位置: 首页 > 面试题库 >

将点击事件处理程序添加到iframe

谢鸿飞
2023-03-14
问题内容

我想使用获取ID为参数的处理程序来处理click事件。iframe``iframe

我可以onClick通过JavaScript如下添加事件处理程序,并且可以正常运行:

iframe.document.addEventListener('click', clic, false);

但是在这种情况下,我无法将参数传递给clic()。我试图打印this.idclic(),但没有结果。

onClick HTML属性根本不起作用,不调用处理程序。

<html>
<head>
<script type="text/javascript">
function def() {
    myFrame.document.designMode = 'on';
}
function clic(id) {
    alert(id);
}
</script>
</head>
<body onLoad="def()">
<iframe id="myFrame" border="0" onClick="clic(this.id)"></iframe>
</body></html>

问题答案:

您可以使用闭包来传递参数:

iframe.document.addEventListener('click', function(event) {clic(this.id);}, false);

但是,我建议您使用更好的方法来访问框架(我只能假设您使用的是DOM0方式,即按其名称访问框架窗口-只是为了向后兼容而保留)。

document.getElementById("myFrame").contentDocument.addEventListener(...);


 类似资料:
  • 问题内容: 我想将点击事件添加到中。我使用了这个例子,并得到了: 但是不幸的是没有任何反应。当我用另一个元素(例如按钮)测试它时,它可以工作: 问题答案: 您可以将点击附加到iframe内容: 注意:这仅在两个页面位于同一域中时才有效。

  • 在Delphi 10.4.2 32位VCL应用程序中,我使用了来自GetIt PackageManager的SVGIconImageList库的组件。 虽然组件支持事件处理程序,但它不支持事件处理程序!例如,我可以通过双击对象检查器中的事件来添加事件处理程序,但是在运行时从未调用该事件处理程序: 组件在中声明为: 那么组件难道不应该从继承它的事件吗? 无论如何,如何在应用程序的代码中为添加工作的事

  • 问题内容: 我想将一个事件处理程序添加到一个段落中,以供任何用户单击它时使用。例如,我有一个段落,当用户单击它时会显示一个警报,但是在HTML上不使用“ onclick”。 问题答案: 您可以添加事件侦听器。 嗯 像这样: 完整代码(已在Chrome&IE7中测试):

  • 我是javafx新手,目前正在做菜单,menuitems。我希望覆盖显示上下文菜单的默认事件,即使菜单没有被按下,但鼠标悬停在它上面,而相邻菜单的上下文菜单显示时,当前仍会显示。这发生在每个应用程序中,因为它非常方便。但由于某种原因,我不需要它。我试图捕获菜单上的鼠标事件,这样我就可以相应地工作,但什么也没发生。 这里是我想要添加此行为的菜单。

  • 问题内容: 我是一位经验丰富的Java程序员,但是大约十年来第一次接触JavaScript / HTML5。我完全困惑于应该是有史以来最简单的事情。 作为示例,我只想绘制一些东西并为其添加事件处理程序。我确定我在做一些愚蠢的事情,但是我搜索了所有内容,没有任何建议(例如,此问题的答案: 添加onclick属性以使用JavaScript输入。我正在使用Firefox10.0.1。我的代码如下。您会看

  • 问题内容: 我试图将点击处理程序添加到我自己的子组件中。在react chrome扩展程序中,我也可以看到点击处理程序。 但是点击本身不起作用-想知道我错过了什么。 样例代码: 问题答案: MySampleComponent可以使用任何所需的道具;组件不会自动将道具复制到其子级。如果希望能够向MySampleComponent添加onClick处理程序,则可以在该组件的定义中对此进行支持: