jquery 点击事件失去响应

问题描述

做了个小功能,发现当鼠标点击过快时点击事件会失去响应。

问题出现的环境背景及自己尝试过哪些方法

开始以为是事件冒泡的原因,取消冒泡后还是一样,于是乎懵了。。

相关代码

/*该方法有个bug:
鼠标不能点击过快,快于大概0.8s点击事件就会失去响应
*/
(function () {

var url=[
    "./images/bg-4.jpg",
    "./images/bg-5.jpg",
    "./images/bg-6.jpg",
    "./images/bg-7.jpg"
]//图片地址库
//缩略图点击事件
$(".thumbnail-wrap").click(function () {
    console.log("点击事件生效");
    //点击聚焦
    $(this).css("background-color","red").siblings().css("background-color","white");
    // 获取被点击缩略图的索引
    var index=$(this).index();
    console.log("当前索引为:"+index);
    $(".img-content").css("background-image","url("+url[index]+")");
})

})()

你期待的结果是什么?实际看到的错误信息又是什么?

后来想想可能是点击过快系统判定成双击了,但是关于双击事件我不熟悉,也不知道如何取消,遂滚来求助了-。-

阅读 1.9k
2 个回答
破案了。。。原来是移动端点击事件的延时问题。。我这个项目是IPAD上面的,但是公司没有MAC所以只能在chrome上调试,我调试的时候忘记退出平板模式了,于是就遇到了经典的300ms延时bug。。。

测试地址,http://jsrun.net/JjgKp/edit

我这边没有复现你的问题,你尝试在一个线上编辑器试一下。如果可以复现把地址发出来。

我猜是不是改DOM了