我想捕获在页面链接上发生的所有.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