我有一个链接jQuery和#链接
<a href="#">has a jQuery click handler</a>
我的jQuery的工作它应该的方式......但散列#标签是使我的浏览器跳转到页面上每次点击的顶部。
有什么办法可以解决这个问题吗?我尝试删除#但它改变了我的CSS样式。
我有一个链接jQuery和#链接
<a href="#">has a jQuery click handler</a>
我的jQuery的工作它应该的方式......但散列#标签是使我的浏览器跳转到页面上每次点击的顶部。
有什么办法可以解决这个问题吗?我尝试删除#但它改变了我的CSS样式。
如果您想快速且肮脏地解决问题,您应该在您的点击处理程序的末尾添加一个return false;
。
但是,返回false将强制您退出并实际停止事件传播。由于您使用的是jquery javascript库,因此您也可以选择使用preventDefault()
方法,该方法将删除默认操作并允许该函数继续运行。
您的点击处理程序应为return false;
或致电preventDefault()事件对象。
实施例:
$('your selector').click(function(e) /* note the parameter e */
{
e.preventDefault();
//your code
});
return false
或拨打eventHandler.preventDefault()
上onclick
事件:
$('#yourLink').click(function() {
return false;
});
或
$('#yourLink').click(function(e) {
e.preventDefault();
});
或改变href
到:
<a href="javascript:void(0);">has a jQuery click handler</a>
您还可以使用javascript: void false;
而不是#
。所以:
<a href="javascript: void false;">has a jQuery click handler</a>
要重申上面的评论,这是正确的,添加一个返回false到点击处理程序。这看起来像:
$('.link').click(function(){
... things to run on click ...
return false;
});
只是一个fyi,这不是一个jQuery问题。 – Marc