我想使用获取ID为参数的处理程序来处理click事件。iframe``iframe
click
iframe``iframe
我可以onClick通过JavaScript如下添加事件处理程序,并且可以正常运行:
onClick
iframe.document.addEventListener('click', clic, false);
但是在这种情况下,我无法将参数传递给clic()。我试图打印this.id的clic(),但没有结果。
clic()
this.id
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(...);