首页 新闻 会员 周边 捐助

href="javascript:"问题

0
悬赏园豆:10 [已解决问题] 解决于 2013-11-08 13:49

  在网上看到有好多种写法,看的一知半解的,想详细区分下以下几种写法的区别和各自的用途:

 1.<a href="javascripts:function();">

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

3.<a href="javascripts:;">

还有其他的写法也请科普下,谢谢!

对了,还详细问下 onclick="return false;"或者类似的所有用法,表示的意思和区别

多谢了

凌晨四点之洛杉矶的主页 凌晨四点之洛杉矶 | 初学一级 | 园豆:5
提问于:2013-11-07 16:41
< >
分享
最佳答案
1

return false 阻止默认事件,但不能阻止事件冒泡

void(0) 返回undefined,一般是防止页面跳到顶部

收获园豆:10
木头小木头 | 菜鸟二级 |园豆:284 | 2013-11-08 10:39

空语句;呢?用在什么地方

凌晨四点之洛杉矶 | 园豆:5 (初学一级) | 2013-11-08 11:00

@文艺吹神: 1L说过了,javascript:是一种协议,后面跟js语句的,javascript:; 不同浏览器不同处理,IE/FF都会出错的。 

木头小木头 | 园豆:284 (菜鸟二级) | 2013-11-08 11:06

@木头小木头: 好吧,谢谢

凌晨四点之洛杉矶 | 园豆:5 (初学一级) | 2013-11-08 13:48
其他回答(3)
1

javascript:是伪协议,它可以让我们通过一个链接来调用javascript函数.

你的第一种写法我没有见过,即使有,我也不建议你使用,做前端的不能进行强绑定,要解耦,提高页面的独立性,方便二次开发

Javascript中void是一个操作符,void(0)表示不作任何操作,用来阻碍事件的默认操作,这样会防止链接跳转到其他页面。

比如你要用a标签写一个按钮,需要用他弹出一个框, 你可以用你的第二种写法,这样它就只弹框,而不跳转

onclick="return false;"这是给元素内嵌onclick事件处理函数,阻止默认事件的发生,防止冒泡,使用内嵌事件处理函数同样也是很不好的习惯,我就直接忽略掉这个功能了。

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

峰笙水崎 | 园豆:211 (菜鸟二级) | 2013-11-07 17:44
0

前面三个写法都是空指令

<a href="#">就行

angelshelter | 园豆:9914 (大侠五级) | 2013-11-07 20:35

嗯.但是有什么区别呢? 我看到别人的网站上好多都用javascript:void(0);这种.

@文艺吹神:没区别 

支持(0) 反对(0) angelshelter | 园豆:9914 (大侠五级) | 2013-11-08 09:36

@文艺吹神: # 点击过后页面会自动跳至顶部

支持(0) 反对(0) 木头小木头 | 园豆:284 (菜鸟二级) | 2013-11-08 10:45

@木头小木头: 这个我知道 那几种呢

@文艺吹神: 往下看,我在最后有回复的

支持(0) 反对(0) 木头小木头 | 园豆:284 (菜鸟二级) | 2013-11-08 10:52
0

<a href="javascripts:void(0);">, <a href="#">用的比较多,return false的那种,我之前就这么写的,看了一楼的,可能是不太好。

Ruth/Christy | 园豆:222 (菜鸟二级) | 2013-11-08 08:26
清除回答草稿
   您需要登录以后才能回答,未注册用户请先注册