function click_alert() {alert('123');}btn.onclick = click_alert;这样做没问题 页面加载完也不会自动执行。但是如果我要传递东西呢function click_alert(z) {alert(z);}btn.onclick = click_alert('a');这样就自动执行了
2 回答
紫衣仙女
TA贡献1839条经验 获得超15个赞
onclick是注册一个点击事件,上面一段的代码表示当这个页面元素被点击的时候会触发一个alert事件。
而下面那段的代码是说先执行一段包含alert的函数,然后再把函数的返回值null返回并绑定给onclick。
上面一段代码是会将点击事件绑定给btn的,但是下面那段只会在页面加载到这段时运行一下这个函数
正常情况下所绑定的函数会将当前传入当前发生的事件作为参数。即
123456 | function click_alert(event) { console.log(event); console.log(arguments); alert( '123' ); } btn.onclick = click_alert; |
如果你想传参数可以动态生成函数可以使用
1234567 | function get_click_alert(message) { function click_alert() { alert(message); } return click_alert } btn.onclick = get_click_alert( 'abc' ); |
精慕HU
TA贡献1845条经验 获得超8个赞
1234567 | function click_alert(obj) { alert(obj); } btn.onclick = function () { click_alert(obj); } |
- 2 回答
- 0 关注
- 1586 浏览
添加回答
举报
0/150
提交
取消