停止touchend无意中发射链接

时间:2014-03-17 10:27:49

标签: jquery ios touch-event

我正在使用touchend事件来阻止ios需要两次触发才能触发href个链接。 这工作正常但是在滚动时无意中触发了链接。

我知道解决方案是实现touchstart以查看是否有移动,但我是一个jquery新手,我不知道如何应用它。

以下是touchend代码

$('a').on('touchend', function(e) {
var el = $(this);
var link = el.attr('href');
window.location = link;
});

希望有人可以提供帮助。

由于

3 个答案:

答案 0 :(得分:4)

好的,这是我使用this post

中的代码解决这个问题的方法
var dragging = false;
$("a").on("touchmove", function(){
  dragging = true;
});

$("a").on("touchend", function(e){
  if (dragging){
e.preventDefault();
}
else {var el = $(this);
var link = el.attr('href');
window.location = link;
}    

});

$("a").on("touchstart", function(){
dragging = false;
});

这适合我。

答案 1 :(得分:0)

使用preventDefault

$('a').on('touchend', function(e) {
e.preventDefault();
var el = $(this);
var link = el.attr('href');
window.location = link;
});

答案 2 :(得分:0)

对我而言,这个有用

viewDidLoad