手动触发函数单击事件对象

Manually triggering a function click event object

本文关键字:单击 事件 对象 函数      更新时间:2023-09-26

我有以下代码:

function myfunc(e){
    console.log(e.target);
}

返回单击的目标的事件。但是我想在不单击目标的情况下触发相同的功能。

这可能吗?有没有可能做这样的事情?

myfunc(document.getElementById('btn').target);

手动触发 javascript 的.click()将直接将单击绑定到该元素,因此在您的情况下,此操作不会传递事件。此外,target是事件对象的属性,因此直接在getElementById上调用它是行不通的。从逻辑上讲,一旦你getElementById那么你就已经有了你的目标,因为 id 是唯一的

另一方面,jquery 库允许您触发点击并传递自定义数据,如下所示:

例:

$( "button" ).on( "click", {name: "John"}, sayName);
function sayName(event){
    alert(event.data.name )
}

希望这有帮助.

我认为你应该像这样修改你的函数,使用和不使用事件触发器(如果你只需要元素对象)

function myfunc(e){
    var ele = e ? e.target : document.getElementById('btn');
    console.log(ele);
}