空javascript事件的最佳实践(例如onclick=";javascript:";)
如果您想要一个事件或指向空javascript调用的链接,我可以想到以下几种方法:空javascript事件的最佳实践(例如onclick=";javascript:";),javascript,html,Javascript,Html,如果您想要一个事件或指向空javascript调用的链接,我可以想到以下几种方法: <a href="#">Method 1</a> <- Ugh... changes URL in browser <a href="javascript:;">Method 1</a> <- My currently preferred method <a href="javascript:v
<a href="#">Method 1</a> <- Ugh... changes URL in browser
<a href="javascript:;">Method 1</a> <- My currently preferred method
<a href="javascript:void(0);">Method 1</a> <- Another approach?
按钮怎么样?如果锚不引领Jquery解决方案,我就不会使用锚
$('a.preventDefault').click(function(){
return false
});
<a href="#" class="preventDefault">Method 1</a>
$('a.preventDefault')。单击(函数(){
返回错误
});
使用
此外,如果没有Javascript链接不能做任何事情,那么没有Javascript的用户甚至不能看到链接。通过Javascript添加链接。如果链接不。。。好吧,链接到任何东西
相反,请使用类似以下内容的span
:
<span class="spanlink" onclick=something>This is some text</span>
反问:我看不出有什么理由把一个空链接放在页面上?链接应该。。。链接到某物。尽管向链接添加事件侦听器似乎很常见,但如果禁用JavaScript时它没有链接到回退页面,则应该使用按钮。只要事件调用preventDefault()
或返回false,href=“#”
不会更改浏览器URL。有时我必须使用此选项。例如,我有一个可点击的h2,它可以展开一个容器。我必须在其周围添加一个a
标签以优化触摸效果。return false
还可以防止冒泡。这不是最好的主意。@AlexeyLebedev当然,但是把可点击的元素放在
元素里面不是一个好主意,我会添加光标:指针代码>到css。这一点都不友好。这就是我在所有可点击的内容上添加链接的主要原因,即使它们没有链接到另一个页面。@DevilsChild“触控友好”是什么意思?当你使用跨距并在触控输入设备上触控跨距时,你的手指会选择部分文本,而使用链接时则不会。此外,IE 10突出显示的是触摸链接,而不是触摸跨距。单独使用键盘无法与跨距交互,此解决方案不便于访问。请避免。
.spanlink {
text-decoration: underline;
color: blue;
cursor: pointer; /* Ragnagord's suggestion in comments */
}