javascript - Chrome移动端调试onclick事件失效
天蓬老师
天蓬老师 2017-04-11 11:17:00
[JavaScript讨论组]

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>
天蓬老师
天蓬老师

欢迎选择我的课程,让我们一起见证您的进步~~

全部回复(5)
PHP中文网
idb.addEventListener('click',function(){
            console.log('ddd');
        },false)
PHPz

是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开发的问题,思路带偏了。很尴尬。

热门教程
更多>
最新下载
更多>
网站特效
网站源码
网站素材
前端模板
关于我们 免责申明 举报中心 意见反馈 讲师合作 广告合作 最新更新 English
php中文网:公益在线php培训,帮助PHP学习者快速成长!
关注服务号 技术交流群
PHP中文网订阅号
每天精选资源文章推送
PHP中文网APP
随时随地碎片化学习

Copyright 2014-2025 https://www.php.cn/ All Rights Reserved | php.cn | 湘ICP备2023035733号