jquery的removeClass在移动(HTML)设备上工作得慢一拍



这是一个非常奇怪的情况。

如果我单击一个元素,div 的类会立即消失 PC 和 MAC。使用删除类,我想要很好。

然而,移动设备(iPhone和Android(是错误的。当我尝试单击一个元素时,该类不会在屏幕上删除。但是控制台打印出该类消失。所以我单击此元素正常显示的任何空白区域。

我不知道为什么移动设备会出现此问题?我该怎么做才能使屏幕立即显示反应?

$(".div").on('click touch', function(){
    var idx = $(this).index(".div");
    if($(this).hasClass("yellow")){
          $(this).removeClass("yellow");
    }
}

你能尝试touchstart而不是touch

$(".div").on('click touchstart', function(){
   var idx = $(this).index(".div");
   if($(this).hasClass("yellow")){
      $(this).removeClass("yellow");
   }
}

如果它是一个动态元素,u 必须触发 body

$("body").on('click touchstart', '.div', function(){
   .....
}

使用 touchstart

$(document).on('click touchstart', function () {

参考文档 触摸设备的点击功能

相关内容

  • 没有找到相关文章

最新更新