jquery的removeClass在移动(HTML)设备上运行速度慢一倍

问题描述 投票:0回答:2

这是一个非常奇怪的案例。

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

然而,移动设备(iPhone和Android)有些不对劲。当我尝试单击一个元素时,该类不会在屏幕上删除。但控制台打印出该课程消失了。所以我点击任何空白区域,这个元素显示为正常。

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

$(".div").on('click touch', function(){
    var idx = $(this).index(".div");
    if($(this).hasClass("yellow")){
          $(this).removeClass("yellow");
    }
}
jquery class mobile click
2个回答
1
投票

你可以试试touchstart而不是touch

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

如果它是一个动态元素,你必须触发身体

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

1
投票

使用touchstart

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

ref document .click function for touch device

© www.soinside.com 2019 - 2024. All rights reserved.