我有以下代码:
function myfunc(e){
console.log(e.target);
}
返回被点击目标的事件。但我想在不点击目标的情况下触发相同的功能。
这可能吗?可以这样做吗?
myfunc(document.getElementById('btn').target);
答案 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 )
}
希望这有帮助。