浅谈html中事件和js事件中括号的区别

<input onclick="change()" value="移动" type="button" id="btn">
var btn = document.getElementById('btn');
btn.onclick = change();
btn.onclick = change;

问题: onclick中change函数加不加括号的区别

代码的onclick事件是在html内写的,而代码2的onclick事件是在script中写的,这是最主要的区别。onclick事件如果在html内写的话,引号内代表要执行的代码,不加括号就不会调用要执行的那个函数。onclick事件在script写的话,如果加了括号就代表将这个函数的返回值直接赋给了onclick事件,也就是说页面直接会触发onclick的效果,不需要点击。这显然不是我们想要的效果,我们想要的效果是点击触发效果,是要将这个函数赋值给这个onclick属性,而不是返回值。所以在script内的onclick事件不应该加括号,而在html内的onlick事件是要加括号的。

最后编辑于
©著作权归作者所有,转载或内容合作请联系作者
平台声明:文章内容(如有图片或视频亦包括在内)由作者上传并发布,文章内容仅代表作者本人观点,简书系信息发布平台,仅提供信息存储服务。

推荐阅读更多精彩内容