Jquery href click - 如何触发事件?

20

我有一个锚点,希望在点击时弹出一些内容。这个 href 在一个有其他 href 的页面中。

<a class="sign_new" href="#sign_up">Sign up</a>

jQuery:

$(document).ready(function(){
   $('a[href = "sign_up"]').click(function(){
      alert('Sign new href executed.'); 
   }); 
});

上述代码未启动。

4个回答

42
它失败了,因为 href 的值不是 sign_up,而是#sign_up。尝试像下面这样做:需要添加 "#" 以指示 href 值的 ID。
$('a[href="#sign_up"]').click(function(){
  alert('Sign new href executed.'); 
}); 

演示: http://jsfiddle.net/pnGbP/


9
如果您拥有HTML代码,那么为该href指定一个id可能是明智的。这样,您的代码将如下所示:
<a id="sign_up" class="sign_new">Sign up</a>

而 jQuery:
$(document).ready(function(){
    $('#sign_up').click(function(){
        alert('Sign new href executed.');
    });
});

如果您没有HTML的所有权,则需要将$('#sign_up')更改为$('a.sign_new')。如果您在锚点中有href并且不希望其被处理,还可以触发event.stopPropagation()(记得返回false也可以起作用)。

$(document).ready(function(){
    $('#sign_up').click(function(event){
        alert('Sign new href executed.');
        event.stopPropagation();
    });
});

4

尝试:

$(document).ready(function(){
   $('a .sign_new').click(function(){
      alert('Sign new href executed.'); 
   }); 
});

您混淆了类名和链接名称/选择器类型。

0

您正在将 click 事件绑定到具有值为 sign_newhref 属性的锚点上。

要么绑定类为 sign_new 的锚点,要么绑定 href 值为 #sign_up 的锚点。我更喜欢前者。


网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接