0

我有这个功能:

function doSomething(e) {
    if (!e) var e = window.event;
    alert(e.type);
}

当 HTML (Master.html) 页面准备好时......我称之为另一个:

var iniciarTimeOut = function (e) {
    document.onload = doSomething;
    window.onmousedown = doSomething;
    window.onkeypress = doSomething;
};

我在 Master.html 中有一个 iframe,我想将事件检测到 iframe.html 但在 Master.html 中触发事件我正在尝试这样做:

document.onmousedown = top.document.body.fireEvent("onload");
document.onkeypress = top.document.body.fireEvent("onmousedown");
document.onload = top.document.body.fireEvent("onload");

我该怎么做?

4

3 回答 3

0

我会在您的 iframe 中创建一个虚构事件并将其附加到目标链接或框架。

您可能还注意到,触发事件的方式取决于测试浏览器遵循的标准:

 // Attach the fictive event object to the target
    // MSIE
    if (document.createEventObject )
        YourTarget.fireEvent('onmouseup',oEvt) ;
    // W3C
    else
        YourTarget.dispatchEvent(oEvt) ;

在此处查看更多详细信息

希望它对您有所帮助或至少给您一个提示,因为我不确定完全理解您的需求。

于 2012-04-16T15:20:59.337 回答
0

这个问题的解决方案是 HTML5 使用 postMessage。

我在这里找到了一个例子: http ://robertnyman.com/html5/postMessage/postMessage.html

于 2012-04-17T21:04:21.590 回答
0

您可以在所需的 iframe 中创建一个包装器 fireevent 方法,并从该包装器方法调用 windows fire 事件。

从除此之外的任何 iframe 调用此包装器。它将在所需的 iframe 上触发事件。

于 2013-10-09T07:54:31.643 回答