jquery仅在第一次触摸时防止默认

时间:2013-04-05 12:58:57

标签: jquery mobile hover preventdefault

我希望学习一种使用jquery对触摸进行以下编码的方法?

$(".portfolio a").one("click", false);

此代码适用于可视菜单链接上的hover事件。我想在第一次触摸时阻止链接跟进,因此悬停事件会在第一次触摸时发生,第二次触摸会将您带到链接。

悬停类与href ...

相关联

3 个答案:

答案 0 :(得分:4)

在解除链接一次之前,只需测试触摸行为:

if ("ontouchstart" in document.documentElement) {
   $(".portfolio a").one("click", false, function(e){
     e.preventDefault();
   }
}

反之亦然

$(".portfolio a").one("click", false, function(e){
   if ("ontouchstart" in document.documentElement) {
     e.preventDefault();
   }
}

答案 1 :(得分:0)

添加.hover类可能更自然,而不是使用:hover伪选择器。这将使您能够执行以下操作:

$(".portfolio a").one("click", function(e) {
    e.preventDefault();
    $(this).addClass('hover');
});

然后,下一次点击将照常运行。

答案 2 :(得分:0)

$(".portfolio a").one("click", false, function(event){

event.preventDefault();

};);

试试这个