Javascript 如何将自引用onclick事件添加到每个<;a>;?

Javascript 如何将自引用onclick事件添加到每个<;a>;?,javascript,html,jquery,onclick,href,Javascript,Html,Jquery,Onclick,Href,我有一个单页应用程序,我想确保链接点击不会以常规方式得到处理,而是传递到我的路由器。因此,我拥有当前运行良好的菜单代码(其中goto更改HTML并返回false): 就像我在一个非SPA网站上,让onclick事件在全球范围内应用一样?也许是这样 element.addEventListener('click', function(e) { e.preventDefault() // Do your things }) 您可以附加一个单击事件侦听器 $('a').click(func

我有一个单页应用程序,我想确保链接点击不会以常规方式得到处理,而是传递到我的路由器。因此,我拥有当前运行良好的菜单代码(其中
goto
更改HTML并返回false):

就像我在一个非SPA网站上,让
onclick
事件在全球范围内应用一样?

也许是这样

element.addEventListener('click', function(e) {
  e.preventDefault()

  // Do your things
})

您可以附加一个单击事件侦听器

$('a').click(function(e){
   goto(this);
   e.preventDefault();//don't navigate away
   /*we can't use return goto(this) because returning false in a jQuery event handler 
      also stops event propagation */
});
如果锚元素是动态的,则可以使用事件委派

$(document).on('click', 'a', function(e){
   goto(this);
   e.preventDefault();//don't navigate away
});

e
不是事件绑定器-它是由
addEventListener
方法提供的对象参数。我前面的语句是错误的,
$('a').onclick('returngoto(this);')确实有效,所以这是一个相当愚蠢的问题,抱歉!“我们不能使用return goto(this),因为在jQuery事件处理程序中返回false也会停止事件传播”,这是什么意思?这很有趣,我不知道这会产生任何问题。@user1111929
returnfalse
在jQuery事件处理程序中相当于
e.preventDefault();e、 停止传播()
@user1111929另请参见:这真的很有趣,而且我在表单提交时也犯了错误,所以这对我来说很有价值。谢谢
$('a').click(function(e){
   goto(this);
   e.preventDefault();//don't navigate away
   /*we can't use return goto(this) because returning false in a jQuery event handler 
      also stops event propagation */
});
$(document).on('click', 'a', function(e){
   goto(this);
   e.preventDefault();//don't navigate away
});