使用onclick创建一个可点击的链接,但没有href =#?

时间:2013-11-23 17:33:44

标签: javascript html

我的页面上有一组可点击的标识符。大约有一百个,比如'cat1','cat2','dog1','dog2','dog3'等等。然后我有一个function IDClick(id) {}

我需要在HTML中点击这些标识符,以实现我使用<a>标记onclick

<a onclick=IDClick(id)>id</a>

现在它可以正常工作,但当光标悬停在可点击元素上时,光标不会改变。

所以我尝试添加href=#

<a href=# onclick=IDClick(id)>id</a>

现在光标没问题,但是当我点击该项时,浏览器位置栏中的URL将会改变。这是不可取的。

如何获得混合行为?

我也不需要下划线。

5 个答案:

答案 0 :(得分:25)

您需要停止浏览器执行默认操作。

<a href="#" onclick="IDClick(id);event.preventDefault();">id</a>

单击链接时,默认操作是转到该地址。 event.preventDefault();阻止浏览器执行默认操作。

答案 1 :(得分:20)

您可以使用CSS强制光标在可点击元素悬停时更改:

.myClickableThingy {
    cursor: pointer;
}

然后,您可以在<span>标记之前切换回<a>或您正在使用的任何元素。

答案 2 :(得分:3)

给你的锚元素一个类并设置它以达到你需要的样式:

<a class='kinda-link' onclick='whatevs()'>Hi I'm a kinda-link</a>

你的css:

a.kinda-link:hover { cursor: pointer; }

答案 3 :(得分:1)

最近我在大多数情况下使用可点击的范围

    Some text with some
<span onclick="alert('hey there')"
         style="color: blue; cursor: pointer">part</span>
that is clickable.

答案 4 :(得分:1)

在IDClick处理函数中使用return false;

<a href=# onclick=IDClick(id)>id</a>

IDClick() {

   ...
   return false;

}
相关问题