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