我想捕获在页面链接上发生的所有.click()事件。另外,我想阅读当前单击的链接的属性。就目前而言,这是有问题的:

$("a").click(function (e) {
    e.preventDefault();
    $("#myPage").load("/ #myPage");
});


首先,此代码仅两次有效-第一次单击链接,此代码不起作用,第二次单击,此代码有效,第三次单击,不起作用,等等。为什么呢?另外,如何读取链接的属性?我需要阅读src和class属性。

编辑:我需要做的是,每当有人单击链接时捕获该链接,停止该链接的发生,读取链接的href和class属性,然后继续加载页面(但不重新加载,仅替换#myPage)

Edit2:好的,所以现在唯一的问题是,为什么它对我来说工作两次?当我加载页面,然后单击一个链接时,jquery可以正常工作,但是第二次单击后,它没有命中我的$("a").click()事件!

解决方案:我通过用.live()替换.click()解决了我的问题-现在每次都可以使用。 ;)

最佳答案

第一部分:How can I prevent link click:

只需从点击事件中返回false

$("a").click(function(e) { return false; });


第二部分:how can I read attribute of a link

   $("a").click(function(){
              var href= $(this).attr('href');
              alert(href);
              return false;
      });


看到这个fiddle

10-07 19:33
查看更多