js javascript:void(0)对脚本的影响

最近在项目里,页面架构师完成切图后把文件交给我加上交互脚本等。

在开发完相关的脚本后,点击图标时并未发生相关改变达到预计效果。

 

试想了很多原因,其中改变脚本的写法并不能达到效果,但是改变CSS能改变,难点是只用CSS并不可能达到需要的交互效果。

最后想了一会儿,觉得既然在脚本上出现了问题,那就是脚本没有运行,外观不受影响而行为受影响,查内容文档,发现架构

切图在每个a标签里加上了 HREF="javascript:void(0)",阻止了脚本的返回,组织了Jquery等动作行为。

很多时候,在页面架构通往开发过程中,a标签不加href的时候一般不会出现cursor:pointer,所以很多时候重构切图时会自己

习惯写上href=“#”,而这个又导致在写交互效果时验证一点击a就刷新页面并且跳到页面最上方。

开发说最好使用###的方式。

添加一下相关的知识:

<a href="javascript:doTest2();void(0);">here</a>
但这儿的void(0)究竟是何含义呢?

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 @ 2015-01-30 11:16  北岛奇诺  阅读(480)  评论(0编辑  收藏  举报