iframe doubleclick事件无法正常工作

时间:2016-06-01 07:03:28

标签: javascript html

我有一个太原始的问题,但它确实让我疯了,因为我不能让它发挥作用。所以,我在页面上有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中它与打开的控制台一起工作,并在关闭时停止工作?以及如何使其在其他浏览器中工作?对我感到羞耻!

1 个答案:

答案 0 :(得分:1)

您可以观察iframe的加载事件。一旦它被解雇,您可以将ondblclick事件分配给iframe内的文档。

iframeDocument.attachEvent("onload", function () {
    this.contentWindow.document.ondblclick = function() { alert('it work\'s'); }
});