将点击事件处理程序添加到iframe
我想要处理iframe
的ID作为参数的处理程序的iframe
上的click
事件。
我可以通过JavaScript添加一个onClick
事件处理程序如下,它工作正常:
iframe.document.addEventListener('click', clic, false);
但在这种情况下,我无法将parameter passing给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);
不过,我build议你使用更好的方法来访问你的框架(我只能假设你正在使用DOM0的方式访问框架窗口的名字 – 这只是为了向后兼容):
document.getElementById("myFrame").contentDocument.addEventListener(...);
IFRAME没有onclick事件,但我们可以通过使用IFRAME的onload事件和JavaScript像这样实现…
function iframeclick() { document.getElementById("theiframe").contentWindow.document.body.onclick = function() { document.getElementById("theiframe").contentWindow.location.reload(); } } <iframe id="theiframe" src="youriframe.html" style="width: 100px; height: 100px;" onload="iframeclick()"></iframe>
我希望这对你有帮助。