看到很多人都写的是javascript:void(0);,新浪微博也是,为什么不能直接写成javascript:;?

北风网解答:

对于void的说明:

void 运算符对任何值返回 undefined。该运算符通常用于避免输出不应该输出的值,例如,从 HTML 的 <a> 元素调用 JavaScript 函数时。要正确做到这一点,函数不能返回有效值,否则浏览器将清空页面,只显示函数的结果。例如:

 <a href="javascript:window.open('about:blank')">Click me</a>

这使 window.open() 调用返回 undefined,它不是有效值,不会显示在浏览器窗口中。

提示:请记住,没有返回值的函数真正返回的都是 undefined。

针对楼主的问题,借用上面stackoverflow链接中的代码:

<a οnclick="fn()">Does not appear as a link, because there's no href</a>  

<a href="javascript:void(0)" οnclick="fn()">fn is called</a>  
<a href="javascript:undefined" οnclick="fn()">fn is called</a>  
<a href="javascript:" οnclick="fn()">fn is called too!</a> 
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值