在javascript中将事件从一个dom转移到另一个dom

时间:2010-04-03 11:11:17

标签: javascript events

在javascript中,假设我有两个节点(节点A,节点B)。当我点击节点A时,我可以将“click”事件传递给节点B,因此节点B的事件处理程序将会执行。

1 个答案:

答案 0 :(得分:4)

在按钮和其他输入元素上触发点击事件非常简单,它们有click()方法:

elementA.onclick = function () { elementB.click(); }

对于不支持click方法的其他事件或元素稍微复杂一点,您需要使用fireEventdispatchEvent触发事件,具体取决于浏览器:< / p>

elementA.onclick = function () {
    var elementB = document.getElementById("elementB");
    if ("dispatchEvent" in elementB) {
        var evt = document.createEvent("MouseEvents");
        evt.initMouseEvent("click", true, true, window,
            0, 0, 0, 0, 0, false, false, false, false, 0, null);
        elementB.dispatchEvent(evt);
    }
    else if ("fireEvent" in elementB)
        elementB.fireEvent("onclick");
}