分享关于a标签中添加点击事件的问题及解决方案

零下一度
Lepaskan: 2017-05-10 15:16:39
asal
2948 orang telah melayarinya

  昨天做修改页面跳转时遇到一个问题,如果a标签的"href"属性为空的话,比如这样修改,这时当我点击修改链接时并没有给我跳到对应修改页面,而是只在本页面进行了刷新操作;如果写成,点击完全没有反应。后来和同事讨论后发现改为javascript:void(0)" onclick="roleupdate()">修改,即在"href"属性中添加"javascript:void(0)"或者"#"即可以实现页面的跳转,所以个人认为"a"标签中的"href"属性值不应该为空。

  为了便于大家学习,本人整理了几种在"a"标签中使用点击事件的方法,如下所示:

<a href="JavaScript:js_method();"</a>
Salin selepas log masuk

这是我们平台上常用的方法,但是这种方法在传递this等参数的时候很容易出问题,而且javascript:协议作为a的href属性的时候不仅会导致不必要的触发window.onbeforeunload事件,在IE里面更会使gif动画图片停止播放。W3C标准不推荐在href里面执行javascript语句

<a href="javascript:void(0);" onclick="js_method()"</a>
Salin selepas log masuk

这种方法是很多网站最常用的方法,也是最周全的方法,onclick方法负责执行js函数,而void是一个操作符,void(0)返回undefined,地址不发生跳转。而且这种方法不会像第一种方法一样直接将js方法暴露在浏览器的状态栏。

3.<a href="javascript:;" onclick="js_method()"</a>
Salin selepas log masuk

这种方法跟2种类似,区别只是执行了一条空的js代码。

4.<a href="#" onclick="js_method()"</a>
Salin selepas log masuk

这种方法也是网上很常见的代码,#是标签内置的一个方法,代表top的作用。所以用这种方法点击后网页后返回到页面的最顶端。

5.<a href="#" onclick="js_method();return false;"</a>
Salin selepas log masuk

这种方法点击执行了js函数后return false,页面不发生跳转,执行后还是在页面的当前位置。

我看了下taobao的主页,他们采用的是第2种方法,而alibaba的主页是采用的第1种方法,和我们的区别是每个href里的javascript方法都用try、catch包围。

【相关推荐】

1. 免费html在线视频教程

2. html开发手册

3. php.cn原创html5视频教程

Atas ialah kandungan terperinci 分享关于a标签中添加点击事件的问题及解决方案. Untuk maklumat lanjut, sila ikut artikel berkaitan lain di laman web China PHP!

Label berkaitan:
sumber:php.cn
Kenyataan Laman Web ini
Kandungan artikel ini disumbangkan secara sukarela oleh netizen, dan hak cipta adalah milik pengarang asal. Laman web ini tidak memikul tanggungjawab undang-undang yang sepadan. Jika anda menemui sebarang kandungan yang disyaki plagiarisme atau pelanggaran, sila hubungi admin@php.cn
Tutorial Popular
Lagi>
Muat turun terkini
Lagi>
kesan web
Kod sumber laman web
Bahan laman web
Templat hujung hadapan
Tentang kita Penafian Sitemap
Laman web PHP Cina:Latihan PHP dalam talian kebajikan awam,Bantu pelajar PHP berkembang dengan cepat!