调用Onclick()函数而不单击

Calling an Onclick() function without clicking?

本文关键字:单击 函数 Onclick 调用      更新时间:2023-09-26

一个网站按钮在我的浏览器上没有呈现。我知道它在那里,当我在视图源中,我仍然看到按钮和onclick函数。我还可以通过传递url函数来调用这个函数吗?或者在控制台上?

即使它不是一个onclick,是否有可能通过URL或控制台调用函数?

您可以通过选择任何DOM元素并调用click()函数来单击它。

document.getElementById("yourElementId").click();

可以和Jquery一起使用

$(selector).click();

要完成此操作,可以使用以下行:

document.getElementById("element_id").click()

根据MDN的说法,这模拟了对元素的完整点击,包括它所需要的一切:

当click与支持它的元素一起使用时(例如上面列出的类型之一),它也会触发该元素的click事件,该事件将向上冒气泡到文档树(或事件链)上的元素,并触发它们的click事件。然而,冒泡的点击事件不会导致元素启动导航,就像收到了真正的鼠标点击一样。


或者,您可以使用jQuery来完成相同的事情:

$("#trigger").click();

最简单的方法是:

function fireClick(node){
    if ( document.createEvent ) {
        var evt = document.createEvent('MouseEvents');
        evt.initEvent('click', true, false);
        node.dispatchEvent(evt);    
    } else if( document.createEventObject ) {
        node.fireEvent('onclick') ; 
    } else if (typeof node.onclick == 'function' ) {
        node.onclick(); 
    }
}

所以你可以像下面这样触发一个元素的click事件:

fireClick(document.getElementById('id'));