曾经遇到的坑------href="#"和href="javascript:void(0);"、href="javascript:;"

  这个是为了 在点击此链接后回到页首,如果你写href="#"那么点击后会回到页首,这样影响操作。
  <a href="javascript:void 0" onclick="window.open('yoururl')">人员管理</a>
  <a href="javascript:return" onclick="window.open('yoururl')">人员管理</a>
  建议使用void 0方式,因为return方式,有时会影响click事件的传播,尤其是return false的时候。

原因如下:

  href="#"是个锚点,链接指向当前页面。

  href="javascript:void(0);" 和 href="javascript:;" 相当于死链接,默认阻止,不进行动作。

  两者效果相当。但建议使用void(0)。只使用分号可能会影响before、after等操作。

  return 和 return false 相当于直接执行返回的结果  空或false。 不建议使用。

  另 href 和 click 是有优先级的,所以有时候我们会写 <a href="javascript:void(0);" onclick=function() >。onclick 会先于 href 执行。

据说详解如下:

Javascript中void是一个操作符,该操作符指定要计算一个表达式但是不返回值。

void 操作符用法格式如下:
1. javascript:void (expression)
2. javascript:void expression

expression 是一个要计算的 Javascript 标准的表达式。表达式外侧的圆括号是选的,但是写上去是一个好习惯。 (实现版本 Navigator 3.0 )

你以使用 void 操作符指定超级链接。表达式会被计算但是不会当前文档处装入任何内容。

下面的代码创建了一个超级链接,当用户以后不会发生任何事。当用户链接时,void(0) 计算为 0,但 Javascript 上没有任何效果。

<A HREF="javascript:void(0)">单此处什么也不会发生</A>

下面的代码创建了一个超级链接,用户单时会提交表单。
<A HREF="javascript:void(document.form.submit())">
单此处提交表单</A>
a href=#与 a href=javascript:void(0) 的区别 链接的几种办法

#包含了一个位置信息

默认的锚是#top 也就是网页的上端

而javascript:void(0) 仅仅表示一个死链接

这就是为什么有的时候页面很长浏览链接明明是#是

跳动到了页首

而javascript:void(0) 则不是如此

所以调用脚本的时候最好用void(0)

或者<input onclick>

<div onclick>等

链接的几种办法
1.window.open(''url'')

2.用自定义函数
<script>
function openWin(tag,obj)
{
obj.target="_blank";
obj.href = "Web/Substation/Substation.aspx?stationno="+tag;
obj.click();
}
</script>

<a href="javascript:void(0)" onclick="openWin(3,this)">株洲</a>

window.location.href=""
posted @ 2016-05-30 14:31  长风傲天  阅读(9063)  评论(0编辑  收藏  举报
[h1[ [B]天涯雪[/B] [/h1]