Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/jquery/81.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
如何使用href在a上调用jQuery函数?_Jquery - Fatal编程技术网

如何使用href在a上调用jQuery函数?

如何使用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

我在带有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="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在您的单击事件上到处跺脚。