当前位置:  开发笔记 > 编程语言 > 正文

jQuery超链接 - href值?

如何解决《jQuery超链接-href值?》经验,为你挑选了6个好方法。

在我的网站上,我使用jQuery来挂钩元素的事件,即超链接.由于这些超链接仅在当前页面上执行操作,并且不在任何地方引导,我一直在将"#"的href属性放在:

My Link

但是在某些浏览器中,这会导致页面从右向上滚动,这显然是不合需要的行为.我已尝试使用空白href值,或不包括一个,但鼠标悬停时鼠标不会更改为手形光标.

我该放什么?



1> Bogdan Const..:
$('a').click(function (event) 
{ 
     event.preventDefault(); 
     //here you can also do all sort of things 
});

然后你可以放入href你想要的任何东西,jQuery将触发该preventDefault()方法,你将不会被重定向到那个地方.


为什么不只是'返回false;`?
@RoToRa?如何在事件上使用jQuery的`return false`行为来阻止浏览器的默认操作和事件冒泡非jQuery?
除非他通过JS将锚点放在DOM中(例如:AJAX请求),否则.live()是无用的

2> talentedmrjo..:

那些仅用于提供点击事件但实际上并未链接到其他内容的"锚点"应该是按钮元素,因为这就是它们的真实含义.

它的样式可以这样:


当然,点击事件可以附加到按钮而不用担心浏览器跳到顶部,并且无需添加无关的javascript,例如onclick ="return false;" 或event.preventDefault().


有趣的方法,但按钮不是链接。您无法右键单击按钮并选择“在新标签页中打开”,这是一种常见的浏览习惯。<a>应包含有效的href =“”,并应由javascript覆盖(以防js处于活动状态)。在我们只需要Ajax请求的情况下,这种方法是最好的。

3> gargantuan..:

你应该真的在那里放一个真正的链接.我不想听起来像一个学究,但这是一个相当不好的习惯进入.JQuery和Ajax应该永远是你实现的最后一件事.如果你有一个无处可去的链接,那么你做得不对.

我没有破坏你的球,我的意思是尽可能最好的意图.


他真正应该做的是将链接指向将执行非javascript等效项的位置.然后覆盖jQuery中的操作.我对此很兴奋......
我会在这里非常小心,因为这种谈话很快就会失控.我向你保证,我的意思是没有伤害或侮辱任何人.但是对于一个网站,我无法想到任何一个有没有链接的地方.
我自己完成了,但是没有,当代码中不相关的部分出现javascript错误导致所有内容崩溃时,或者当页面加载缓慢时,我也已经有点傻了人们可以快速按下按钮.所以现在,我不再这样做了.
如果你没有真正的链接,它就不可能优雅地失败,并且很可能大多数搜索引擎永远不会抓取那些页面,尽管有些人可以正确地解析JS而不保证.
尽管不使用链接有更好的方法,但作者可能会在没有机会重新设计的情况下维护或修改某些内容,在这种情况下,原始问题需要直接回答; 当然,这个答案在开始项目时作为一般知识的最佳实践是好的,因此它是这个主题中的良好支持材料.我认为这是一个非直接的答案,它被高估了.
100%同意@gargantaun,如果它是一个网站...如果你正在开发一个网络应用程序...我认为这些"假"链接是可以的.

4> bart..:

为什么用?我像这样解决它:

fake link

它的风格:

.a {text-decoration:underline; cursor:pointer;}

您可以使用jQuery轻松访问它:

$(".a").click();


-1:当HTML中存在语义和功能等价物时,不要使用带语法的无语义HTML来伪造语义默认行为的视觉效果.庞大的是对的.

5> roryf..:

将return false添加到单击处理程序的末尾,这可以防止出现尝试重定向页面的浏览器默认处理程序:

$('a').click(function() {
// do stuff
return false;
});



6> djspark..:

使用jquery,你可能只希望得到那些带有'#'的人

$('a[href=#]').click(function(){return false;});

如果您使用最新的jquery(1.3.x),则在页面更改时无需再次绑定它:

$('a[href=#]').live('click', function(){return false;});

推荐阅读
360691894_8a5c48
这个屌丝很懒,什么也没留下!
DevBox开发工具箱 | 专业的在线开发工具网站    京公网安备 11010802040832号  |  京ICP备19059560号-6
Copyright © 1998 - 2020 DevBox.CN. All Rights Reserved devBox.cn 开发工具箱 版权所有