如何使用 jQuery 在 iPad 上避免 "double touch"?

How to avoid "double touch" on an iPad using jQuery?

我有一个按钮,按下该按钮会将您带到页面顶部并突出显示搜索输入。它工作正常,除了 iPad 用户必须单击两次才能强制它工作。

这不是识别触摸事件的问题,而是要确保在第一次尝试时触发触摸事件。

如何避免 iPad 上的 "double touch"?

  $('.my-button').click(function() { 
      $("html, body").animate({ scrollTop: 0 }, 500);
      $('.search').addClass('highlighted'); 
  });

您尝试过 'tap' jQuery 活动吗?

$('.my-button').on('tap', function() { 
   $("html, body").animate({ scrollTop: 0 }, 500);
   $('.search').addClass('highlighted'); 
});
    $('.my-button').bind("click",function() { 
        $(this).unbind(); 
        $("html, body").animate({ scrollTop: 0 }, 500); 
        $('.search').addClass('highlighted');
        $(this).bind();
    });

jquery bind 确实将处理程序附加到特定元素的事件,因此无论何时绑定单击事件,它都不适用于双击,因为您可以单独绑定双击事件。因此,在这种情况下,当您在第一次点击后双击时,它将取消绑定点击事件,以便点击事件在功能执行期间不会重复,并在所有 functinality.Unbind 删除之前附加的事件后再次绑定它来自元素的事件处理程序。如需更多信息,请查看 bind and unbind