jQuery删除和添加类不适用于iPhone

时间:2019-07-07 14:32:59

标签: jquery

我有2个div。一个是标签div,另一个是输入div。当我切换标签div时,输入div在切换。我还要通过单击屏幕上的任意位置来关闭输入div。一切正常,但在iPhone上没有任何作用。

. yoket {
  display: none;
}
$(document).mouseup(function(e) {
  var label = $("#semt");
  var container1 = $("#semt1");

  if (label.has(e.target).length === 1) {
    if (container1.hasClass("yoket")) {
      container1.removeClass("yoket");
    } else if (!container1.hasClass("yoket")) {
      container1.addClass("yoket");
    }
  } else if (container1.has(e.target).length === 0) {
    container1.addClass("yoket");
  }
});

1 个答案:

答案 0 :(得分:1)

它不适用于移动设备(或任何基于触摸的设备)的原因是未触发mouseup事件,请切换到它的click和/或touchend事件。理想情况下,这应该可行。

$(document).bind("mouseup touchend",function(e) {
  var label = $("#semt");
  var container1 = $("#semt1");

  if (label.has(e.target).length === 1) {
    if (container1.hasClass("yoket")) {
      container1.removeClass("yoket");
    } else if (!container1.hasClass("yoket")) {
      container1.addClass("yoket");
    }
  } else if (container1.has(e.target).length === 0) {
    container1.addClass("yoket");
  }
});

希望这会有所帮助!