sitemap
知识分享网:一个值得你收藏的网站!
当前位置:网站首页 > Html > 分享关于a标签中添加点击事件的问题及解决方案

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

作者:xuhongji发布时间:2020-09-05分类:Html浏览:67评论:0


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

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

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

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

3.

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

4.

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

5.

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

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


欢迎 发表评论:

Html排行
«   2021年1月   »
123
45678910
11121314151617
18192021222324
25262728293031
标签列表
网站分类
文章归档
最近发表
推荐文章