为了账号安全,请及时绑定邮箱和手机立即绑定

javascript onclick

javascript onclick

噜噜哒 2018-11-14 13:15:53
今天写JS的时候遇到这么一个问题:function init() {        var btn = document.getElementById('sort-btn');         btn.onclick = btnHandle();     }上面是我的JS代码部分,这里注意一下,init函数中的第二句,btn.onclick = btnHandle();我的本意是点击按钮,执行btnHandle函数,可实际情况是刷新页面之后,btnHandle函数直接执行了。然后我把代码改成这样function init() {        var btn = document.getElementById('sort-btn');         btn.onclick = btnHandle;     }把btn.onclick = btnHandle();语句中的()去掉后,代码按我所想的正常运行。这是为什么?btnHandle 和 btnHandle()
查看完整描述

1 回答

?
ABOUTYOU

TA贡献1812条经验 获得超5个赞

btn.onclick接受一个函数,代表当 btn 被点击的时候执行这个函数,而你的btnHandle()代表了执行这个函数,给 btn.onclick的是他的返回值,当然就先执行了。

下面的写法就代表着,当 btn.onclick 时,执行 btnHandle 函数。


查看完整回答
反对 回复 2018-12-12
  • 1 回答
  • 0 关注
  • 421 浏览
慕课专栏
更多

添加回答

举报

0/150
提交
取消
意见反馈 帮助中心 APP下载
官方微信