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

使用 HTML DOM 来分配事件

使用 HTML DOM 来分配事件

<button id="myBtn" >点这里</button><script> document.getElementById("myBtn").onclick=function(){displayDate()}; function displayDate(){ document.getElementById("demo").innerHTML=Date(); } </script>通过DOM来设定button的触发在,在JS中 onclick=function(){displayDate()},为什么不可以是onclick=displayDate()。
查看完整描述

3 回答

已采纳
?
Tobey_滔

TA贡献242条经验 获得超128个赞

可以!!只是你的方式错误了!!

<button id="myBtn" >点这里</button>
<script>
    document.getElementById("myBtn").onclick=displayDate;
    function displayDate(){
        alert("你好!");
    }
</script>


查看完整回答
1 反对 回复 2016-10-25
  • 镜花以西映陵东4076133
    镜花以西映陵东4076133
    很感谢,但不是很理解这一段..能解释一下吗?
  • Tobey_滔
    Tobey_滔
    js的事件都是需要一些方法来进行的..比如onclick.onmouseenter.onmouseout等等事件类型都是需要一个函数..当事件触发的时候就会自动调用函数的... 因此对于这些事件的处理..一般有两种方式..第一种就是常见的 btn.onclick = function(){....} 而第二种就是我例子中的了 function say(){....} btn.onclick = say; 赋值给onclick的时候,函数是不需要带()的...如果函数带括号..表示调用/启动函数... 简单理解: function a(){....} var b = a; //这样a函数就赋值给b变量 b(); //等于调用a函数
?
stone310

TA贡献361条经验 获得超191个赞

直接写displayDate()是自执行,正确写法如一楼,加了括号自执行,不加括号调用函数

查看完整回答
1 反对 回复 2016-10-25
?
镜花以西映陵东4076133

TA贡献1条经验 获得超0个赞

()是个操作,表示执行displayDate方法,你把displayDate方法执行完的返回值赋给onclick能对吗?

onclick接受的是Function类型的变量,要么用匿名的方法赋值就是
document.getElementById("myBtn").onclick=function(){displayDate()};
/*类型的变量?? 匿名的方法??*/
要么用直接把函数名赋给onclick,document.getElementById("myBtn").onclick=displayDate;
两种都可以,第二种更好。

查看完整回答
反对 回复 2016-10-25
  • 3 回答
  • 0 关注
  • 1775 浏览
慕课专栏
更多

添加回答

举报

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