如何在iPad上单击时加速jQuery

How to speed up jQuery on click on the iPad?

本文关键字:加速 jQuery 单击 iPad      更新时间:2023-09-26

这段代码工作正常,但在iPad上打开有点慢。基本上,我有一组带有类.item的div,当我单击其中一个时,我需要添加一个名为.is-expanded的类并打开该框,同时关闭其他框(如果打开了任何内容)。这些框有一个图像,单击它应该可以快速隐藏它并打开选定的框。这在计算机上工作正常,而在iPad上,整个事情有点慢延迟。有没有办法让它更快,或者我正在做任何让它变慢的事情?

目录:

<div class="item">
  <img .. />
  <div class="wrapVideo">..</div>
</div>
<div class="item">
  <img .. />
  <div class="wrapVideo">..</div>
</div>
<div class="item">
  <img .. />
  <div class="wrapVideo">..</div>
</div>

Jquery:

$(document).on( 'click', '.item:not(.is-expanded)', function() {
  $(".item").removeClass('is-expanded');
  $(".wrapVideo").css("display", "none");
  $("img").css("display", "block");
  $(this).addClass('is-expanded');
  $("img", this).css("display", "none");
  $(".wrapVideo", this).show();
);

这不是您的代码的问题,但触摸事件有 300 毫秒的延迟,因为您可能会使用双选项卡或其他东西。使用快速单击.js消除延迟

我猜你的问题不在于动画笨拙,而是从你触摸 .item 到它打开需要时间。

您可以在此处看到解决方案:消除移动 Safari 中点击事件的 300 毫秒延迟

iPad 假定在您点击它后有 300 毫秒的延迟。由于您的代码,它并不慢。这在安卓手机中使用

<meta name="viewport" content="width=device-width, user-scalable=no">

在Windows手机上使用:

html {
    -ms-touch-action: manipulation;
    touch-action: manipulation;
}

苹果的野生动物园目前还没有解决方案。

这是一个已知且经常解决的问题。关于这个问题有几种解决方案:

将所有点击事件替换为jquery移动版中的点击以加快速度