【问题标题】:Creating a null hyperlink创建空超链接
【发布时间】:2009-10-09 21:56:13
【问题描述】:

我想创建一个不链接到任何页面的超链接。单击它时,它会执行我定义的 javascript 函数。 所以,我创建了一个链接如下:

<a onclick="fun()"> SomeText </a>

但是,当我们将鼠标悬停在链接上时,鼠标指针不会变为手形符号。

所以,我将链接更改为

<a href="#" onclick="fun()"> SomeText </a>

所以,现在我得到了手形符号,但现在地址栏中的位置更改为 /#,每当我点击链接时。

有没有办法创建一个不链接到任何位置的超链接,但是鼠标悬停在它上面时鼠标指针应该变成手形符号?

谢谢。

【问题讨论】:

    标签: javascript html css


    【解决方案1】:

    从 onclick 事件中返回 false:

    <a href="#" onclick="fun(); return false;"> SomeText </a>
    

    【讨论】:

    • 感谢您的回复,成功了! :)。当鼠标悬停在链接上时,是否还有一种方法可以隐藏状态栏中显示的链接文本?
    • 尝试添加属性:onmouseover="window.status=''" 以显示“无”(空字符串)作为状态栏消息。
    • onmouseover="window.status = '';"
    【解决方案2】:
    <a href="javascript:;" onclick="fun();">Some Text</a>
    <a href="javascript:fun();">Some Text</a>
    

    【讨论】:

      【解决方案3】:
      <a href="/SomePageWeDontWantToVisit" onclick="fun(); return false;">...</a>
      

      【讨论】:

      • 请谨慎使用这种方法:如果客户端禁用了 javascript,则无论如何都会访问您不想访问的页面 :)
      【解决方案4】:

      您还可以通过编程方式添加事件处理程序,在您的 javascript onload 部分添加类似这样的内容(例如 window.onload()):

      function clickHandler() {
        event.preventDefault();    
       // do some javascript stuff
      }
      
      document.getElementById("link").addEventListener("click", clickHandler, false);
      

      HTML 页面中的链接:

      &lt;a id="link" href="#"&gt;Some link&lt;/a&gt;

      【讨论】:

        【解决方案5】:

        更正确的做法是创建span元素,修改css属性:

        &lt;span class="link" onclick="fun()"&gt; SomeText &lt;/span&gt;

        css

        .link{光标:指针;}

        【讨论】:

          猜你喜欢
          • 1970-01-01
          • 1970-01-01
          • 2012-12-25
          • 2018-03-09
          • 1970-01-01
          • 1970-01-01
          • 2012-11-07
          • 2017-02-21
          • 2016-01-30
          相关资源
          最近更新 更多