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

时间:2016-07-06 14:11:18

标签: javascript

我有以下代码:

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

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

这可能吗?可以这样做吗?

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

2 个答案:

答案 0 :(得分:0)

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

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

答案 1 :(得分:0)

使用javascript 手动触发.click()会直接将点击绑定到该元素,因此在您的情况下,执行此操作将不会传递事件。此外,target是事件对象的属性,因此直接在getElementById上调用它将无效。逻辑上,一旦getElementById,您已经拥有目标,因为 ID是唯一的

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

示例:

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

function sayName(event){

    alert(event.data.name )

}

希望这有帮助。