2015-07-10 79 views
1

我的代码绑定了singletap,doubletap事件到我的项目div中的链接。如何阻止Javascript,Jquery在点击链接时运行

我需要这样做,使得无论何时在我的项目div中单击某个元素时,都不会发生这些事件,但是我仍然需要将这些元素用作普通链接。

我试过在函数中使用return false,只要点击一个元素但不起作用就会调用这个函数。我怎样才能做到这一点?

编辑:仍然有同样的问题。

我仍然需要链接工作,所以event.preventDefault()不是一个选项。

var projects = document.getElementById('projects'); 
var hammerTime = new Hammer.Manager(projects); 
hammerTime.add(new Hammer.Tap({ event: 'doubletap', taps: 2 })); 
hammerTime.add(new Hammer.Tap({ event: 'singletap' })); 
hammerTime.get('doubletap').recognizeWith('singletap'); 
// we only want to trigger a tap, when we don't have detected a doubletap 
hammerTime.get('singletap').requireFailure('doubletap'); 
hammerTime.on("singletap", function(ev) 
{ 
    $('.navCharacter').fadeOut(2000); 
}); 
hammerTime.on("doubletap", function(ev) {}); 
+5

你可以提供更多的细节..? –

+0

目前还不完全清楚问题所在。请描述你正在尝试做什么。 – royhowie

回答

1

event.preventDefault();

检查the api

例如,

hammerTime.on("singletap", function(event) 
{ 
    event.preventDefault(); 
    $('.navCharacter').fadeOut(2000); 
}); 
0

尝试用e.stopPropagation。此功能可在您单击时停止事件的传播。

hammerTime.on("singletap", function(ev) 
{ 
    $('.navCharacter').fadeOut(2000) 
    if (!e) var e = window.event; 
     e.cancelBubble = true; 
     if (e.stopPropagation) e.stopPropagation(); 
    } 
}