在我的网站上,我使用jQuery来挂钩元素的事件,即超链接.由于这些超链接仅在当前页面上执行操作,并且不在任何地方引导,我一直在将"#"的href属性放在:
My Link
但是在某些浏览器中,这会导致页面从右向上滚动,这显然是不合需要的行为.我已尝试使用空白href值,或不包括一个,但鼠标悬停时鼠标不会更改为手形光标.
我该放什么?
$('a').click(function (event) { event.preventDefault(); //here you can also do all sort of things });
然后你可以放入href
你想要的任何东西,jQuery将触发该preventDefault()
方法,你将不会被重定向到那个地方.
那些仅用于提供点击事件但实际上并未链接到其他内容的"锚点"应该是按钮元素,因为这就是它们的真实含义.
它的样式可以这样:
当然,点击事件可以附加到按钮而不用担心浏览器跳到顶部,并且无需添加无关的javascript,例如onclick ="return false;" 或event.preventDefault().
你应该真的在那里放一个真正的链接.我不想听起来像一个学究,但这是一个相当不好的习惯进入.JQuery和Ajax应该永远是你实现的最后一件事.如果你有一个无处可去的链接,那么你做得不对.
我没有破坏你的球,我的意思是尽可能最好的意图.
fake link
它的风格:
.a {text-decoration:underline; cursor:pointer;}
您可以使用jQuery轻松访问它:
$(".a").click();
将return false添加到单击处理程序的末尾,这可以防止出现尝试重定向页面的浏览器默认处理程序:
$('a').click(function() { // do stuff return false; });
使用jquery,你可能只希望得到那些带有'#'的人
$('a[href=#]').click(function(){return false;});
如果您使用最新的jquery(1.3.x),则在页面更改时无需再次绑定它:
$('a[href=#]').live('click', function(){return false;});