看到很多人都写的是javascript:void(0);,新浪微博也是,为什么不能直接写成javascript:;?
2014-05-30 07:36
253 查看
北风网解答:
对于void的说明:
void 运算符对任何值返回 undefined。该运算符通常用于避免输出不应该输出的值,例如,从 HTML 的 <a> 元素调用 JavaScript 函数时。要正确做到这一点,函数不能返回有效值,否则浏览器将清空页面,只显示函数的结果。例如:
<a href="javascript:window.open('about:blank')">Click me</a>
这使 window.open() 调用返回 undefined,它不是有效值,不会显示在浏览器窗口中。
提示:请记住,没有返回值的函数真正返回的都是 undefined。
针对楼主的问题,借用上面stackoverflow链接中的代码:
<a onclick="fn()">Does not appear as a link, because there's no href</a>
<a href="javascript:void(0)" onclick="fn()">fn is called</a>
<a href="javascript:undefined" onclick="fn()">fn is called</a>
<a href="javascript:" onclick="fn()">fn is called too!</a>
对于void的说明:
void 运算符对任何值返回 undefined。该运算符通常用于避免输出不应该输出的值,例如,从 HTML 的 <a> 元素调用 JavaScript 函数时。要正确做到这一点,函数不能返回有效值,否则浏览器将清空页面,只显示函数的结果。例如:
<a href="javascript:window.open('about:blank')">Click me</a>
这使 window.open() 调用返回 undefined,它不是有效值,不会显示在浏览器窗口中。
提示:请记住,没有返回值的函数真正返回的都是 undefined。
针对楼主的问题,借用上面stackoverflow链接中的代码:
<a onclick="fn()">Does not appear as a link, because there's no href</a>
<a href="javascript:void(0)" onclick="fn()">fn is called</a>
<a href="javascript:undefined" onclick="fn()">fn is called</a>
<a href="javascript:" onclick="fn()">fn is called too!</a>
相关文章推荐
- Java网络编程从入门到精通(3):为什么不能直接通过IP访问网站
- Javascript验证练习。请求师兄修改bug 。出错时候为什么不能显示 “确定”按钮??
- 为什么Windows 7远程登录时本机和远程机间不能直接复制粘贴文件
- Long也是整数,为什么不能传给SWITCH呢?
- 关于为什么整型不能和float,double型直接比较大小的原因
- 探讨float类型的数值,为什么两个float不能直接相等
- 为什么不能直接通过IP访问网站
- 为什么INT_MIN不是直接写成-2147483648
- alert("第一个javascript的文字<br>"); 我直接执行的没调用函数为什么这句话没显示出来javascriptal
- static方法可以直接从普通方法(regular method)中调用,但是普通方法不能直接从static方法中调用,为什么?
- 为什么有的表在Navicat中不能直接复制
- 为什么 script 标签不能写成自关闭形式
- 从“为什么不能直接打开PDF文件”说到“脚本攻击” 推荐
- 为什么我的电脑在cmd中不能直接使用命令的解决办法
- javascript 直接创建对象与间接创建对象 私有函数不能访问this变量 是否使用var声明变量几个问题探讨
- Java网络编程从入门到精通(3):为什么不能直接通过IP访问网站
- 从“为什么不能直接打开PDF文件”说到“脚本攻击”
- 从“为什么不能直接打开PDF文件”说到“脚本攻击”
- 从“为什么不能直接打开PDF文件”说到“脚本攻击”
- JavaScript中:表达式和语句的区别 —— function和对象直接量 不能匿名定义解惑