相关疑难解决方法(0)

将Click事件处理程序添加到iframe

我想处理click一个iframe带有处理程序的事件,该处理程序将iframeid作为参数.

我可以onClick通过JavaScript 添加一个事件处理程序,如下所示,它工作正常:

iframe.document.addEventListener('click', clic, false);
Run Code Online (Sandbox Code Playgroud)

但在这种情况下,我无法传递参数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>
Run Code Online (Sandbox Code Playgroud)

javascript iframe onclick addeventlistener

23
推荐指数
2
解决办法
11万
查看次数

将事件侦听器添加到iframe

是否可以向iframe添加事件监听器?我已经尝试过这段代码,但它似乎不起作用:

document.getElementsByTagName('iframe')[0].contentWindow.window.document.body.addEventListener('afterLayout', function(){
                console.log('works');
            });
Run Code Online (Sandbox Code Playgroud)

我也尝试过使用id获取元素并通过我正在使用的JavaScript框架添加我的监听器,如下所示:

Ext.fly("iframeID").addListener('afterLayout', function(){ alert('test'); });
Run Code Online (Sandbox Code Playgroud)

我可以在iframe中调用函数,所以我认为安全性不是问题.有任何想法吗?

javascript iframe dom extjs

10
推荐指数
2
解决办法
5万
查看次数

使用JQuery将事件处理程序添加到iframe

我想将一个keydown事件处理程序分配给iframe.类似纯JS的东西:

document.getElementById('iframe_id').contentWindow.addEventListener('keydown',funcName, true);
Run Code Online (Sandbox Code Playgroud)

我试过了:

$(document.getElementById('iframe_id').contentWindow).keydown( function() {
   // my func
});
Run Code Online (Sandbox Code Playgroud)

但它不起作用..请帮忙!

javascript iframe jquery events keydown

9
推荐指数
2
解决办法
2万
查看次数

标签 统计

iframe ×3

javascript ×3

addeventlistener ×1

dom ×1

events ×1

extjs ×1

jquery ×1

keydown ×1

onclick ×1