猿问

在js中绑定onclick事件为什么不加括号,在html代码中必须要加?

$(document).ready(function(){
document.body.onlick = fun;
function fun(){
alert('a');
}
});
<input type=“button” onclick=”fun()”>

如上代码,我的理解在<script>代码中中不加括号是因为直接将函数赋值给onclick事件,如果加了括号就直接自动执行了,不用触发点击事件,但是不理解为什么在HTML代码中必须加括号,是因为在行间内,onclick是属于标签的内在属性,属性值是文本,所以必须加括号 ,让代码执行么?求解答,谢谢

菩提爱吃梨
浏览 6079回答 1
1回答

super_mb

加上括号是执行的意思,添加事件的回调函数应该就是给相应的事件属性赋值,而很明显需要把一个函数赋值给这个事件属性,而不是函数的调用结果。所以在js中的绑定是直接赋值。而在标签内的事件属性的值是由引号包裹的,代表的是当点击该元素时,执行引号内的代码,直接把引号内的代码拿出来跑,如果你不加括号,那就不会调用那个函数。不知道你能不能看懂。。
随时随地看视频慕课网APP
我要回答