如何使用href在a上调用jQuery函数?
我在带有href属性的a元素上有一个绑定的jquery函数 如果a没有href属性,则将触发绑定到click事件的函数 如果它有href属性,则不会 帮助?试试这个:如何使用href在a上调用jQuery函数?,jquery,Jquery,我在带有href属性的a元素上有一个绑定的jquery函数 如果a没有href属性,则将触发绑定到click事件的函数 如果它有href属性,则不会 帮助?试试这个: $('a').click(function(e) { e.preventDefault(); //preventing the link from being followed. // your code }); 我想您希望从处理程序中返回false,这将取消锚的HREF后面的内容 <a href="htt
$('a').click(function(e) {
e.preventDefault(); //preventing the link from being followed.
// your code
});
我想您希望从处理程序中
返回false
,这将取消锚的HREF后面的内容
<a href="http://www.yahoo.com" id="test">Test</a>
$('#test').click(function(){
alert('test');
return false;
});
$(“#测试”)。单击(函数(){
警报(“测试”);
返回false;
});
我认为您的问题在于事件确实正在触发,但由于您有一个带有
href
的
,浏览器也在重新加载或切换页面。如果要防止这种行为,需要返回false代码>单击事件。最好使用javascript:void(0);在锚定标签->中,这里有一个简单的解决方案
$("a").click(function() {
if(!$(this).attr("href")) {
//fire
}
});
href="javascript:alert('Hello');"
您的if
语句中缺少了)
,而且您的选择器很宽,至少可以这么说。绝对!您计划如何防止锚的href元素被跟踪?;)这就是问题所在。当每个人都选择preventDefault()
时,你也可以阅读这个问题,这样他就只能在没有指定href的锚上执行函数。看见这样,我们就涵盖了一个问题的所有可能答案…除了它不起作用。如果您阅读OP的问题,您将看到只有当HREF属性存在时才会出现“问题”,否则就没有问题。HREF将始终否决单击处理程序,除非单击处理程序取消操作(使用return false
或e.preventDefault()
)。否则,在单击处理程序响应之前,浏览器已跟随该链接。例如,在本例中,请查看控制台是否触发。(Firebug或Chrome控制台)。正确,据我们所知,只有一个A标签。这是真的。这(通常)是一个不同寻常的网页,但也可能是真的并不是单击事件不会触发,而是HREF在您的单击事件上到处跺脚。