关于onclick的疑问

如果直接在js里面给一个元素加点击事件,函数后面不加(),比如element.onclick=fun;
但是在html里面就应该<div onclick=“fun()”,而放在这里就要加括号,为啥

阅读 2.3k
2 个回答
<div onclick="fun()"></div> //表示用户点击的时候,触发执行fun方法
element.onclick=fun相当于element.onclick=function(){fun()};
而onclick=fun() 与 element.onclick=function(){fun()}才是等价的
如果element.onclick=fun()的话,是直接把fun的执行返回结果给element的click事件

在 HTML 中加括号表示点击这个元素就表示调用这个函数。

但是,在 JS 中如果你像那个下面这样写

element.onclick=fun();

这就表示把 func() 函数的执行结果给了 onclick 事件。

在 JS 中,你可以把函数当成变量,你传给谁,谁就可以那这个变量执行。

撰写回答
你尚未登录,登录后可以
  • 和开发者交流问题的细节
  • 关注并接收问题和回答的更新提醒
  • 参与内容的编辑和改进,让解决方法与时俱进
推荐问题