Warning: file_get_contents(/data/phpspider/zhask/data//catemap/6/EmptyTag/141.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将e.preventDefault()写入代码中的所有链接吗?_Javascript_Jquery_Html - Fatal编程技术网

Javascript 我可以使用jQuery将e.preventDefault()写入代码中的所有链接吗?

Javascript 我可以使用jQuery将e.preventDefault()写入代码中的所有链接吗?,javascript,jquery,html,Javascript,Jquery,Html,我想知道: 我的html文件中有一些链接,对于大多数链接,我需要在它们的click函数中编写,以避免跳转到页面顶部(e.preventDefault()就是这样做的)ת除了它们实际执行的函数之外,我还需要编写该操作 我可以这样写吗: $('a').click(function(){e.preventDefault()}) 行吗?或者,如果我这样写,它是否会与实际函数产生冲突: $('a').click(function(){e.preventDefault()}); $('a#goingToD

我想知道:

我的html文件中有一些链接,对于大多数链接,我需要在它们的click函数中编写,以避免跳转到页面顶部(e.preventDefault()就是这样做的)ת除了它们实际执行的函数之外,我还需要编写该操作

我可以这样写吗:

$('a').click(function(){e.preventDefault()})
行吗?或者,如果我这样写,它是否会与实际函数产生冲突:

$('a').click(function(){e.preventDefault()});
$('a#goingToDoSomething').click(function(){console.log('just did it')})
我问这个问题是因为我想让我的代码更好——但我不确定这是否是正确的方法。。 谢谢
Alon

是的,如果您将以下命令传递给回调函数,它将起作用:

$('a').click(function (e) {
    e.preventDefault();
});

不,不会有任何冲突(冲突?嗯?)。您可以将额外的单击处理程序绑定到链接,它们将按预期工作。

如果您将事件对象传递给单击处理程序,它应该可以正常工作。试试这个

$('a').click(function(e){e.preventDefault()})

其他答案是正确的,但效率不如:

$('body').on('click', 'a', function(e){
    e.preventDefault();
});
编辑:

$(document).on
将更快,但未经测试,但应能正常工作


需要jQuery 1.7+

,但如果您有指向其他页面的常规链接或外部链接,它们将不再工作,因为您也禁用了它们!您应该补充一点,它只能从jQuery1.7+版本工作幸运的是,我需要与v1.4.3兼容