替代href =“#”保留鼠标悬停属性

时间:2015-04-18 08:06:31

标签: javascript css href

我有一个很长的HTML页面,在模态打开页面滚动到顶部,可以通过删除href ="#"来自

<a href="#" id="myId">Click me to open modal</a>

但删除它,它会改变鼠标移动显示&#34; hand&#34; on anchor tag to&#34; text blinker&#34;。

如何在不丢失该属性的情况下摆脱href="#"

4 个答案:

答案 0 :(得分:8)

cursor:pointer;
<{1}}元素

上的

答案 1 :(得分:1)

选项1:

而不是:

<a href="#" id="myId">Click me to open modal</a>

尝试:

<a href="javascript:void(0);" id="myId">Click me to open modal</a>

这会将<a>标记视为具有默认CSS样式的正确锚点,但不会执行导致浏览器滚动到顶部的默认链接行为。

选项2:

在您的javascript中使用event.preventDefault(),以防止浏览器滚动到顶部。

选项3:

完全删除href属性,并将cursor: pointer添加到您的CSS中。

答案 2 :(得分:0)

您可以阻止锚定默认行为,在JS中设置event.preventDefault()

我不知道您的代码是怎样的,但这里有一个jQuery example

<a href="http://jquery.com">default click action is prevented</a>
<div id="log"></div>


<script src="https://code.jquery.com/jquery-1.10.2.js"></script>
<script>
 $( "a" ).click(function( event ) {
   event.preventDefault();
   $( "<div>" )
     .append( "default " + event.type + " prevented" )
     .appendTo( "#log" );
});
</script>

答案 3 :(得分:0)

如果要打开空白链接,请使用以下URL:“about:blank”