关于 xxx.onclick=alert('xxx');

BestJsn 2014-06-28 07:48:31
RT,新人自学
1.这种情况下是为什么会触发alert(还未满足click的条件吧)?
2.还有哪些情况会在赋值的时候就触发(要怎么注意写的时候不会出现这种情况)?
...全文
1013 6 打赏 收藏 转发到动态 举报
写回复
用AI写文章
6 条回复
切换为时间正序
请发表友善的回复…
发表回复
For_You 2014-06-30
  • 打赏
  • 举报
回复
你这段代码应该会报错,alert出xxx只是一个执行过程,赋值的时候执行了而已。 jsjq加载自动执行的几种方法
KK3K2005 2014-06-30
  • 打赏
  • 举报
回复
xxx.onclick=alert('xxx'); 语句就是 表达式 上面表达式解析就是 a = b 也就是 b得值 赋予 a b 也是一个表达式 alert('xxx'); 在语句执行得时候 表达式 必须被求值(被执行) 那么 b被执行 但是写在html上可以 <div onclick='alert(111)'></div> 为什么可以? 因为 页面解析后变成类似 onclick = function(){ alert(111); }
yuanxiaowa 2014-06-29
  • 打赏
  • 举报
回复
你把alert('xxx')的返回值赋值给xxx.onclick了。。。。 把事件函数变成了属性了
hetao220284 2014-06-29
  • 打赏
  • 举报
回复
第一个是事件绑定机制,是一个回调,这么说吧,就相当于你在增加了一个监听器,一直在监听着xxx的click,一旦click就执行你后面的内容; 第二个的话即使基本的赋初值之类的
百里马 2014-06-28
  • 打赏
  • 举报
回复
类似这种触发事件的响应都是一个函数,也就是function 事件响应你都应该这么写:

xxx.onclick = function(){
        alert("xxx");
}
你的写法适合直接写在html元素的onclick属性上,比如:

<input type="button" onclick="alert('xxx')" />
这样就是可以的
scscms太阳光 2014-06-28
  • 打赏
  • 举报
回复
正确是:
xxx.onclick=function(){
alert('xxx');
}

87,907

社区成员

发帖
与我相关
我的任务
社区描述
Web 开发 JavaScript
社区管理员
  • JavaScript
  • 无·法
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

试试用AI创作助手写篇文章吧