html标签中绑定触发事件与js中绑定触发事件写法上的区别
程序员文章站
2022-03-27 17:15:56
...
<!DOCTYPE html>
<html>
<head>
<meta charset="UTF-8">
<title>js中方法名后加括号和不加口号的区别</title>
</head>
<body>
<div id="target">
</div>
<button id="btn" onclick="test()">按钮</button>
</body>
</html>
<script type="text/javascript">
var test = function(){
var span = document.createElement("span");
span.innerHTML="添加";
document.getElementById("target").appendChild(span);
}
//document.getElementById("btn").onclick=test;
//document.getElementById("btn").onclick=test();
</script>
如上述的代码,
在button标签中绑定onclick事件,要写成test(),不能写成test,test是指向一个function,当点击按钮的时候,test()就告诉浏览器执行test函数,而test只是告诉了浏览器test函数,并没有要执行
在js中onclick绑定时,要写成test,这样就会把test函数绑定在按钮上,当点击的时候就执行,如果写成test()的话,在onclick绑定时就执行了test函数,所以onclick绑定的东西是test执行后的结果或者返回函数,如果想绑定的是某个函数的返回函数(return function{}),就可以用οnclick=test();
以上是通过网上找资料、自己实践后自我总结的一点看法,和大家分享下,如果有什么写的不对地方还请大家多多包涵、多提提意见
转载于:https://my.oschina.net/u/2476661/blog/523453
上一篇: 王腾一个字总结小米11屏幕:贵
推荐阅读
-
学习了vue中数据的挂载,vue实例的编写,数据的注入,数据的响应及vue的html长久文本html解析指令和vue的样式绑定及class类的绑定,input事件在vue双向绑定并复习了es6中的原生绑定及按照触发者的形式绑定
-
html标签中绑定触发事件与js中绑定触发事件写法上的区别
-
前端js中动态添加的元素不能触发绑定事件解决方法
-
学习了vue中数据的挂载,vue实例的编写,数据的注入,数据的响应及vue的html长久文本html解析指令和vue的样式绑定及class类的绑定,input事件在vue双向绑定并复习了es6中的原生绑定及按照触发者的形式绑定
-
HTML中关于动态创建的标签无法绑定js事件的解决方法