什么';javascript中.click()和.onclick()的区别是什么?
两者之间有什么区别什么';javascript中.click()和.onclick()的区别是什么?,javascript,click,Javascript,Click,两者之间有什么区别 document.getElementById("id").click(); 及 ?click是HTML元素上的一个函数,您可以调用它来触发它们的click处理程序:元素。click() onclick是一个反映onclick属性的属性,允许您在单击发生时将“DOM0”处理程序附加到元素:element.onclick=function(){/*…*/}(现代的等价物是addEventListener(“click”,…)[或attachEvent,在IE的过时版本上])如
document.getElementById("id").click();
及
?
click
是HTML元素上的一个函数,您可以调用它来触发它们的click处理程序:元素。click()代码>
onclick
是一个反映onclick
属性的属性,允许您在单击发生时将“DOM0”处理程序附加到元素:element.onclick=function(){/*…*/}
(现代的等价物是addEventListener(“click”,…)
[或attachEvent
,在IE的过时版本上])如果调用onclick
(element.onclick()
),则会调用附加到它的函数,但不会调用附加了现代方法的处理程序
例如,点击
触发假点击;另一个用于设置单击处理程序。(如果调用onclick
,它将只调用通过旧的DOM0机制连接的处理程序。)
例如:
var btn=document.querySelector(“输入[type=button]”);
//向它添加一个现代处理程序
btn.addEventListener(“单击”,函数(){
log(“调用的现代处理程序”);
});
//向其中添加一个过时的DOM0处理程序
btn.onclick=函数(){
log(“调用了DOM0处理程序”);
};
//呼叫“点击”`
log(“调用click():”;
点击();
//调用“onclick”(这将是非常不寻常的)
log(“调用onclick():”;
btn.onclick()代码>
@rene:不,如果你仔细阅读的话就不会了。onclick
是一个属性,所以应该作为文档访问它。getElementById(“id”)。onclick
,对吗?不会document.getElementById(“id”).onclick()调用返回的函数吗?但行为可能会有所不同。@AjayBrahmakshatriya:是的,会的。我会澄清的。另外,这两种情况下不是都不一样吗?在单击()
中,它将是附加处理程序的对象。在onclick()。(我对此不确定)。@AjayBrahmakshatriya:“这将是一个正常的函数调用,它将从调用上下文中继承。”这不是的工作方式。更多:(不,如果调用的函数不是绑定函数或箭头函数,在这两种情况下都是相同的。)谢谢!我对这个案子没有把握。
document.getElementById("id").onclick();