如何通过ID触发元素? (“ .click();”无效)

时间:2018-10-04 23:16:35

标签: javascript text triggers click event-listener

我想在Google翻译中触发此元素,以便它始终会自动更正我输入的所有内容。 https://i.snag.gy/NRsWFB.jpg

该元素的ID为“拼写校正”。 我尝试过:

document.getElementById('spelling-correction').click();

这:

function clickLink(link) {
    var cancelled = false;

    if (document.createEvent) {
        var event = document.createEvent("MouseEvents");
        event.initMouseEvent("click", true, true, window,
            0, 0, 0, 0, 0,
            false, false, false, false,
            0, null);
        cancelled = !link.dispatchEvent(event);
    }
    else if (link.fireEvent) {
        cancelled = !link.fireEvent("onclick");
    }

    if (!cancelled) {
        window.location = link.href;
    }
}

setInterval(function copyText() {
var correction123 = document.getElementById("spelling-correction");
correction123.clickLink();
 }, 100);

但是不幸的是,它们无法正常工作。我想以某种方式触发此“拼写校正”,以便我编写的任何内容都将被自动校正。 预先谢谢你!

1 个答案:

答案 0 :(得分:2)

问题是您单击的是div。单击时,Divs不会执行任何操作(除非另有说明)。

由于您想要的似乎是单击 link 本身,因此您应该尝试这样的操作:

childAnchors = document.querySelectorAll("#spelling-correction > a");
childAnchors[0].click();