Javascript 我可以使用jQuery将e.preventDefault()写入代码中的所有链接吗?
我想知道: 我的html文件中有一些链接,对于大多数链接,我需要在它们的click函数中编写,以避免跳转到页面顶部(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
$('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兼容