Chrome移动端调试onclick事件失效
Chrome移动端调试onclick事件失效,代码很简单
<body>
<button id="button" onclick="test()">qush</button>
<script>
function test(){
var idb = document.getElementById('button');
idb.addEventListener('click',function(){
console.log('ddd');
},false)
}
</script>
</body>
如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。
绑定邮箱获取回复消息
由于您还没有绑定你的真实邮箱,如果其他用户或者作者回复了您的评论,将不能在第一时间通知您!
发布评论
评论(5)
是click,不是onclick,一楼已回答
楼上回答正解,除了老版本IE是onclick,其他浏览器应该都是不需要加前面的on绑定事件的,注意一点在移动端,click事件在移动端有300毫秒延迟,不过影响不大
关于具体的"click"、"onclick"之间的区别,建议参考MDN上addEventListener的词条(后边有一大段是关于旧写法和IE写法的)。
(刚手机砸脸上了不小心点了发送……晕
o(╯□╰)o)
而关于题主所写,button标签里的onclick属性本来就是回调,所以直接写console.log就是可以看到结果的,但不推荐再写一遍绑定,相当于每次click后都要绑一遍事件回调;或者也可以去掉标签里的onclick,直接在js里把test里的内容写到window.load里(当然事件名要改click),这样加载好以后直接执行一遍事件绑定,也是ok的。
最后说一句,移动端直接用click,推荐挂个fastclick插件,可以填上点击延时的坑。
谢谢大家,问题已经解决。在本地,是我chrome设置的问题,之前一直没有想到是因为我只记得修改过主题和console的设置。昨天在服务器上跑的时候,也不能在某些手机浏览器跑的原因目测估计是使用了let的原因,在caniuse.com上看了一下,在机支持度不高,现在正在想办法获取手机浏览器内核版本。因为两个错误现象很相似,我一直以为是都是移动web开发的问题,思路带偏了。很尴尬。