在网上看到有好多种写法,看的一知半解的,想详细区分下以下几种写法的区别和各自的用途:
1.<a href="javascripts:function();">
2.<a href="javascripts:void(0);">
3.<a href="javascripts:;">
还有其他的写法也请科普下,谢谢!
对了,还详细问下 onclick="return false;"或者类似的所有用法,表示的意思和区别
多谢了
return false 阻止默认事件,但不能阻止事件冒泡
void(0) 返回undefined,一般是防止页面跳到顶部
空语句;呢?用在什么地方
@文艺吹神: 1L说过了,javascript:是一种协议,后面跟js语句的,javascript:; 不同浏览器不同处理,IE/FF都会出错的。
@木头小木头: 好吧,谢谢
javascript:是伪协议,它可以让我们通过一个链接来调用javascript函数.
你的第一种写法我没有见过,即使有,我也不建议你使用,做前端的不能进行强绑定,要解耦,提高页面的独立性,方便二次开发
Javascript中void是一个操作符,void(0)表示不作任何操作,用来阻碍事件的默认操作,这样会防止链接跳转到其他页面。
比如你要用a标签写一个按钮,需要用他弹出一个框, 你可以用你的第二种写法,这样它就只弹框,而不跳转
onclick="return false;"这是给元素内嵌onclick事件处理函数,阻止默认事件的发生,防止冒泡,使用内嵌事件处理函数同样也是很不好的习惯,我就直接忽略掉这个功能了。
为什么我要这样做,因为你的网站的访问者完全有可能使用的是不支持JavaScript的浏览器,有一些可能是浏览器不支持你使用的Javascri脚本,或者是你的脚本有错误。在这种情况下,就要保证,你的网站即使在所有的JavaScript都失效时,仍然能够正常访问。而使用了内嵌处理函数,你的网站就不能再访问,这肯定不是你希望的结果把
前面三个写法都是空指令
<a href="#">就行
嗯.但是有什么区别呢? 我看到别人的网站上好多都用javascript:void(0);这种.
@文艺吹神:没区别
@文艺吹神: # 点击过后页面会自动跳至顶部
@木头小木头: 这个我知道 那几种呢
@文艺吹神: 往下看,我在最后有回复的
<a href="javascripts:void(0);">, <a href="#">用的比较多,return false的那种,我之前就这么写的,看了一楼的,可能是不太好。