我有一个太原始的问题,但它确实让我疯了,因为我不能让它发挥作用。所以,我在页面上有iframe
,我希望有双击事件。我测试它的浏览器是FireFox。这就是我尝试过的:
var iframe = document.getElementsByClassName("cke_wysiwyg_frame")[0];
var iframeDocument = iframe.contentDocument || iframe.contentWindow.document;
iframeDocument.ondblclick = function () {
alert("Test 1");
}
和此:
iframeDocument.addEventListener("dblclick", function () {
alert("Test 2");
});
由于一些奇怪的原因它只有在我打开控制台进行调试时才有效。控制台关闭后,它将停止工作。
在我尝试的其他浏览器中 - Chrome和IE - 根本不起作用。以IE为例,我试过:
iframeDocument.attachEvent("dblclick", function () {
alert("Test 3");
});
但它不起作用。那么,那有什么问题?为什么在FF中它与打开的控制台一起工作,并在关闭时停止工作?以及如何使其在其他浏览器中工作?对我感到羞耻!
答案 0 :(得分:1)
您可以观察iframe的加载事件。一旦它被解雇,您可以将ondblclick事件分配给iframe内的文档。
iframeDocument.attachEvent("onload", function () {
this.contentWindow.document.ondblclick = function() { alert('it work\'s'); }
});