gpt4 book ai didi

jquery - 为什么在 iPad/iPhone 上滚动屏幕时会调用我的点击事件?

转载 作者:行者123 更新时间:2023-12-03 21:16:41 26 4
gpt4 key购买 nike

给出以下 jQuery 代码:

// iPad/Safari doesn't recognize the "click" event using "live", so we have to do some trickery here
var ua = navigator.userAgent,
event = ((ua.match(/iPad/i)) || (ua.match(/iPhone/i))) ? "touchstart" : "click";

$(".freeTimeSlot").live(event, function() {
...
}

在我的 iPhone 上,页面比我的手机显示区域大,因此我触摸屏幕并滚动页面。如果当我滚动时我的手指恰好位于 freeTimeSlot div 之一中,则会激活单击事件。

如何避免这种情况发生?

最佳答案

如果您使用 jQuery UI,您可以尝试 jQuery UI Touch Punch .

如果不需要的话,不值得将 jQuery UI 添加到您的页面,所以也许可以尝试像这样的代码片段:

$(".freeTimeSlot").on("touchmove",function(e)
{
e.preventDefault();
var touch = e.originalEvent.touches[0] || e.originalEvent.changedTouches[0];
var elem = $(this).offset();
var x = touch.pageX - elem.left;
var y = touch.pageY - elem.top;
if(x < $(this).width() && x > 0)
{
if(y < $(this).height() && y > 0)
{
// your code...
}
}
});

关于jquery - 为什么在 iPad/iPhone 上滚动屏幕时会调用我的点击事件?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/11938880/

26 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com