Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/jquery/70.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
当单击链接时,如何阻止Javascript、Jquery运行_Javascript_Jquery_Hammer.js - Fatal编程技术网

当单击链接时,如何阻止Javascript、Jquery运行

当单击链接时,如何阻止Javascript、Jquery运行,javascript,jquery,hammer.js,Javascript,Jquery,Hammer.js,我的代码将singletap、doubletap事件绑定到我的projects div内的链接 我需要这样做,无论何时在我的projects div内单击a元素,这些事件都不会发生,但是我仍然需要a元素作为正常链接发挥作用 我曾尝试在函数内部使用return false,每当单击元素时都会调用这些函数,但这不起作用。我怎样才能做到这一点 编辑:仍然有相同的问题 我仍然需要这些链接才能工作,因此event.preventDefault()不是一个选项 var projects = document

我的代码将singletap、doubletap事件绑定到我的projects div内的链接

我需要这样做,无论何时在我的projects div内单击a元素,这些事件都不会发生,但是我仍然需要a元素作为正常链接发挥作用

我曾尝试在函数内部使用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) {});
event.preventDefault()

检查

e、 g


尝试使用
e.stopPropagation
。此函数用于在单击时停止事件的传播

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

你能提供更多的细节吗?问题是什么还不完全清楚。请描述一下你到底想做什么。
hammerTime.on("singletap", function(ev)
{
    $('.navCharacter').fadeOut(2000)
    if (!e) var e = window.event;
        e.cancelBubble = true;
        if (e.stopPropagation) e.stopPropagation();
    }
}