href="javascript:"的使用

在开发中经常使用href="javascript:;"使得<a>标签失效不跳转,而使用绑定的方法进行跳转。

写法有好多种,如

1.<a href="javascript:;">

2.<a href="javascript:void(0);">

3.<a href="javascript:void();">

4.<a href="javascript:function();">(可以成功,但不建议使用)

在这需要注意的是如果写错,写成<a href="javascript:(0);">,会导致在一般的浏览器上正常,

而IE上的效果如下图,页面url不变,但页面内容显示为0。


原因:

javascript:是伪协议,作用是使得链接可以调用函数,伪协议是Javascript:而不是Javascripts:后面没有S。

void是一个操作符,void(0)表示不作任何操作,用来阻碍事件的默认操作。


οnclick="return false;"这是给元素内嵌onclick事件处理函数,阻止默认事件的发生,防止冒泡,使用内嵌事件处理函数同样也是很不好的习惯,

因为因为你的网站的访问者完全有可能使用的是不支持JavaScript的浏览器,有一些可能是浏览器不支持你使用的Javascri脚本,或者是你的脚本有错误。在这种情况下,就要保证,你的网站即使在所有的JavaScript都失效时,仍然能够正常访问。而使用了内嵌处理函数,你的网站就不能再访问。


什么是伪协议?

伪协议就是“Javascript:”。在讲javascript:前首先看下面的例子,例子懂了就差不多知道javascript是什么,怎样使用了。

<br />
<a href="javascript:var now=new Date();'<h1>现在时间是:</h1>'+now;">JavaScript:伪协议使用1</a>
<br />
<a href="javascript:alert('伪协议使用2');">JavaScript:伪协议使用2</a>
<br />
<a href="javascript:window.open('about:blank');void 0;">JavaScript:伪协议使用3</a>

单击“JavaScript:伪协议使用1”效果如下,伪协议后的是任意的JavaScript代码,如果有多个语句,只输出最后一条。


单击“JavaScript:伪协议使用2”效果如下,可以只包含执行动作


单击“JavaScript:伪协议使用3”效果如下,打开一个新的页面。


本文部分内容来自:

http://q.cnblogs.com/q/56676/

http://www.jb51.net/article/52358.htm


评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值