什么是最好的crossbrowser方式使锚没有href(javascript驱动)表现得像真正的锚?最明显的一个是使用#作为锚点,但它会使页面跳转...
mr.*_*r.b 18
一个do-nothing链接,甚至没有跳转:
<a href="javascript:void(0)">link</a>
Run Code Online (Sandbox Code Playgroud)
更新:正如链接文档所暗示的那样(Ambrosia指出),自void(0)返回以来undefined,最好将上面的代码写成:
<a href="javascript:undefined">link</a>
Run Code Online (Sandbox Code Playgroud)
当然,除非重新定义了undefined.
这些不会跳:
?<a href="#null">Click</a>
?<a href="#n">Click</a>
<a href="#undefined">Click</a>?
Run Code Online (Sandbox Code Playgroud)
然而,他们是灵魂摧毁和非常丑陋.
您应该从与锚点关联的单击处理程序返回false.鉴于HTML:
<a id="example" href="/whatever"/>
Run Code Online (Sandbox Code Playgroud)
JS应该看起来像:
document.getElementById('example').onclick = customAnchorReturn;
function customAnchorReturn() {
// do stuff
return false;
}
Run Code Online (Sandbox Code Playgroud)
或使用jQuery:
$('a#example').click(function(){
// do stuff
return false;
});
Run Code Online (Sandbox Code Playgroud)
通过这种方式,JS将是不显眼的,如果JS被禁用,锚将仍然有效.
| 归档时间: |
|
| 查看次数: |
12036 次 |
| 最近记录: |