Warning: file_get_contents(/data/phpspider/zhask/data//catemap/3/html/71.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Javascript 避免更改锚点中的位置(html)_Javascript_Html - Fatal编程技术网

Javascript 避免更改锚点中的位置(html)

Javascript 避免更改锚点中的位置(html),javascript,html,Javascript,Html,我正在考虑处理单击事件的最佳解决方案,以避免更改浏览器中的位置(#) 以下是两种情况: 1. <a class="someclass" href="#">Click me</a> (This is ok, but adds a "#" in the url) 2. <a class="someclass" href="javascript:void(0)">Click me</a> (Seems to be better, th

我正在考虑处理单击事件的最佳解决方案,以避免更改浏览器中的位置(#)

以下是两种情况:

1. <a class="someclass" href="#">Click me</a>
   (This is ok, but adds a "#" in the url)  

2.  <a class="someclass" href="javascript:void(0)">Click me</a>
   (Seems to be better, the url never changes, but I don't know about compatibility in all browsers, or even when javascript is disabled)
1。
(这是可以的,但是在url中添加了一个“#”)
2.
(似乎更好,url永远不会改变,但我不知道所有浏览器的兼容性,甚至不知道javascript被禁用时的兼容性)

哪一个是最好的解决方案?

据我所知,
href
参数不是必需的。只需删除它,然后仍然挂起所需的事件。

在第一个方法中..只需在处理单击事件的位置添加
return false
。然后它不会将
#
添加到URL

使用
Javascript:void(0)

void
操作符几乎是强制单击不执行任何操作的唯一方法。

您应该使用
href=“javascript:void(0)”
onClick
相邻,因为这将阻止浏览器加载新页面。如果要对超链接使用
onClick
,并要求客户端在单击超链接后不直接指向新页面,则在
href='javascript:void(0)
之后返回void(0)将阻止这种情况发生