Chrome移动端调试onclick事件失效

发布于 2022-09-04 09:50:48 字数 396 浏览 17 评论 0

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 技术交流群。

扫码二维码加入Web技术交流群

发布评论

需要 登录 才能够评论, 你可以免费 注册 一个本站的账号。

评论(5

昨迟人 2022-09-11 09:50:48
idb.addEventListener('click',function(){
            console.log('ddd');
        },false)
指尖微凉心微凉 2022-09-11 09:50:48

是click,不是onclick,一楼已回答

御弟哥哥 2022-09-11 09:50:48

楼上回答正解,除了老版本IE是onclick,其他浏览器应该都是不需要加前面的on绑定事件的,注意一点在移动端,click事件在移动端有300毫秒延迟,不过影响不大

画▽骨i 2022-09-11 09:50:48

关于具体的"click"、"onclick"之间的区别,建议参考MDN上addEventListener的词条(后边有一大段是关于旧写法和IE写法的)。

(刚手机砸脸上了不小心点了发送……晕
o(╯□╰)o)

而关于题主所写,button标签里的onclick属性本来就是回调,所以直接写console.log就是可以看到结果的,但不推荐再写一遍绑定,相当于每次click后都要绑一遍事件回调;或者也可以去掉标签里的onclick,直接在js里把test里的内容写到window.load里(当然事件名要改click),这样加载好以后直接执行一遍事件绑定,也是ok的。

最后说一句,移动端直接用click,推荐挂个fastclick插件,可以填上点击延时的坑。

城歌 2022-09-11 09:50:48

谢谢大家,问题已经解决。在本地,是我chrome设置的问题,之前一直没有想到是因为我只记得修改过主题和console的设置。昨天在服务器上跑的时候,也不能在某些手机浏览器跑的原因目测估计是使用了let的原因,在caniuse.com上看了一下,在机支持度不高,现在正在想办法获取手机浏览器内核版本。因为两个错误现象很相似,我一直以为是都是移动web开发的问题,思路带偏了。很尴尬。

~没有更多了~
我们使用 Cookies 和其他技术来定制您的体验包括您的登录状态等。通过阅读我们的 隐私政策 了解更多相关信息。 单击 接受 或继续使用网站,即表示您同意使用 Cookies 和您的相关数据。
原文