我不时地在网页上看到下面的href。然而,我不明白这是要做什么或技术。有人能详细说明吗?
<a href="javascript:;"></a>
我不时地在网页上看到下面的href。然而,我不明白这是要做什么或技术。有人能详细说明吗?
<a href="javascript:;"></a>
当前回答
我一直在寻找一种解决方案,在ipad和手机上不刷新页面,而是打开菜单项。 我在手机上也试过,效果很好
<a href=“#” onclick=“return false;”>Dr</a>
其他回答
这是一种让链接在点击时完全不做任何事情的方法(除非Javascript事件绑定到它)。
这是一种运行Javascript而不是跟随链接的方式:
<a href="Javascript: doStuff();">link</a>
当没有javascript要运行时(就像你的例子),它什么也不做。
<a href="javascript:void(0);"></a>
Javascript:告诉浏览器要编写Javascript代码
有几种机制可以避免链接到达目的地。题目中的答案不是很直观。
一个更清晰的选项是使用href="#no",其中#no是文档中未定义的锚。
您可以使用更语义化的名称,如#disable或#action来增加可读性。
该方法的好处:
避免空href="#"的"移到顶部"效果 避免使用javascript
缺点:
必须确保在文档中没有使用锚名。 URL更改为将(不存在的)锚包含为片段,并创建一个新的浏览器历史记录条目。这意味着在点击链接后点击“返回”按钮不会像预期的那样运行。
由于<a>元素不充当链接,在这些情况下,最好的选择不是使用<a>元素,而是使用<div>并提供所需的链接样式。
它用于在href中编写js代码,而不是像onclick这样的事件监听器,并避免在href中使用# links来使标签对HTML有效。
有趣的事实
我研究了如何使用javascript:在href属性里面,得到的结果是我可以在里面写多行!
<a href="
javascript:
a = 4;
console.log(a++);
a += 2;
console.log(a++);
if(a < 6){
console.log('a is lower than 6');
}
else
console.log('a is greater than 6');
function log(s){
console.log(s);
}
log('function implementation working too');
">Click here</a>
测试在chrome版本68.0.3440.106(正式版本)(64位) 在Firefox Quantum 61.0.1(64位)中测试
我一直在寻找一种解决方案,在ipad和手机上不刷新页面,而是打开菜单项。 我在手机上也试过,效果很好
<a href=“#” onclick=“return false;”>Dr</a>