前几天有人问我为什么她的点击事件不好使呢?效果闪一下就没有了?

首先她的点击事件没有加给button或者其他标签,当然a标签是可以加的,但是一般a标签我们都是用来链接到某个网页或位置,它的href属性一般是有值的,或者尽管没有给href属性值,也会有#或者javascript:;这种,那么问题就是出现在了这个属性上。

接下来分情况说一下:

href="#"

这个添加点击事件是没有问题的

href="javascript:;"

同#也是木有问题的

href=""

问题来了,测试时除alert(1);方式,其他OK,效果是一闪而过,显然不能达到我们日常的效果,当写上了href属性,就代表它有默认的点击事件,那就是跳到相应的页面或者页面位置,如果不写值,就会刷新页面,而一般我们测试时,通过点击某个按钮触发事件给页面添加效果时,再次刷新页面会回到原来的状态,所以href属性值什么都不写,反而给a标签又加点击事件,问题就出现了,效果刚有,又因为页面刷新,刚触发的效果又回到原始状态,这就是“一闪而过”的效果。

#号,会在地址栏里最后添加#,页面内容不刷新,不跳转,所以不会出现上述问题。

javascript:;是表示在触发默认动作时,执行一段JavaScript代码,而 javascript:; 表示什么都不执行,这样点击时就没有任何反应,所以不会出现上述问题。

解决方式:

阻止默认事件 在新加的click事件中最后加一句:return false;上述问题可以解决。但是默认跳转页面功能会消失(这是必然,因为已经人为阻止这个行为的发生)。

无href属性

没有这个属性也就不会有默认刷新当前页面功能,所以不会出现上述问题。

<!DOCTYPE html>
<html>
<head><meta charset="utf-8"><title></title>
</head>
<body>
<a id="click1" href="#" title="">点击</a>
<a id="click2" href="javascript:;" title="">点击</a>
<a id="click3" href="" title="">点击</a>
<a id="click4" title="">点击</a>
<script>var oClick1 = document.getElementById('click1');var oClick2 = document.getElementById('click2');var oClick3 = document.getElementById('click3');var oClick4 = document.getElementById('click4');oClick1.onclick = function(){console.log(1);// return false;}oClick2.onclick = function(){console.log(1);// return false;}oClick3.onclick = function(){console.log(1);return false;}oClick4.onclick = function(){console.log(1);// return false;}
</script>
</body>
</html>

综上所述:一般制作按钮,没有跳转功能建议用button,语义感强,易理解,不易出错。

备注:这是我个人测试、理解之后写的,若有错误,欢迎评论或者私信~

解决给a标签添加点击事件时遇到的问题相关推荐

  1. 如何通过JS动态给li标签添加点击事件并跳转

    如何给li标签添加点击事件 一.HTML demo代码 二.JS动态新增li并绑定点击事件 三.效果图 有很长一段时间没写博客了,最近做了一个类似于榜单的小需求,遇到了一些小问题,姑且简单的记录一下吧 ...

  2. 给父元素添加点击事件时,获取到的 event.target 为子元素(point-events: none 的妙用)

    目录 场景 分析 解决 场景 使用 ion-select 组件时,点击下拉图标 点击事件的 event.target,不是图标本身的 DOM,而是图标子元素的 DOM 这会导致 popover 无法计 ...

  3. uni-app中Card slots的使用(添加点击事件)(uni-card)

    uni-app官方文档中只给出了action底部插槽的使用的例子.对于初学者来说,当需要在卡片顶部添加点击事件时,往往也需要一个例子来引路. 这里是使用title(卡片头部插槽)在顶部添加点击事件,如 ...

  4. 标签页添加点击事件和拖拽事件

    :draggable="true" 放在Tabs表示标签页可拖拽 @on-drag-drop="handleDragDrop" 给Tabs添加拖拽事件: cha ...

  5. Android 动态添加标签及其点击事件

    在做Android开发的时候,会遇到动态添加标签让用户选择的功能,所以自己写了个例子,运行效果图如下. 标签可以左右滑动进行选择,点击的时候,会弹出toast提示选择或者取消选择了哪个标签.通过动态添 ...

  6. android html图片点击事件,Android TextView加载HTMl图文之添加点击事件和查看图片

    前言 用TextView显示Html图文,每一个需求都是需要探索的,不再是简单的添加点击事件就可以了. 1.如何添加点击事件 这里要使用上在Html.forHtml()方法中的第四个参数:Html.T ...

  7. 如何给Vue v-for循环渲染出的元素(导航栏) 批量添加点击事件 及 点击后添加css类样式 及 点击后路由跳转切换

    如何给Vue v-for循环渲染出的元素 批量添加点击事件 及 点击后添加css类样式 及 点击后路由跳转切换 能够实现或解决的问题 给Vue v-for循环出的元素批量添加点击事件,并以自己在数组中 ...

  8. 关于a标签的点击事件触发无效的问题

    Write By Monkeyfly 以下内容均为原创,如需转载请注明出处. 前提 项目为:xxxx管理系统.在该系统中,可以通过点击左侧的菜单(导航栏)来实现右边内容的切换.而且内容区的页面都是嵌套 ...

  9. iostext添加点击事件_iOS给UILabel添加点击事件

    前言:笔者最近需要实现给UILabel中的链接添加点击事件的功能.使用so.com查了下,发现TTTAttributedLabel的封装程度比较好.整理了TTTAttributedLabel的基本使用 ...

最新文章

  1. 安装仅限于用于sharepoint_PDF DC2018软件安装教程
  2. centos下fail2ban安装与配置详解
  3. Delphi使用Zlib
  4. php 中文键名 问题,PHP中使用asort进行中文排序失效的问题处理
  5. @bzoj - 2388@ 旅行规划
  6. linux下使用free命令查看实际内存占用(可用内存)
  7. React Native与React的关系及特点
  8. anaconda 清华源挂了 怎么办 上交源ok
  9. 地理信息系统概论_2021考研专业课地理信息系统概论(黄杏元版)知识点总结(五)...
  10. (花生壳)向日葵 相关虚拟硬件(驱动)造成 xp 系统无法正常 待机、休眠
  11. 幸福框架:可扩展的应用程序 “启动引导” 框架
  12. 文本文档怎么转换为html文件,win10系统下如何将文本文档转换为网页
  13. 实验二:大数据可视化工具-Tableau
  14. NHibernate Step by Step (三) Configuration和Sessionfactory
  15. 基于Linux下的apache Web 服务
  16. 这台计算机上没有安装驱动程序,这台计算机上没有安装‘HP LaserJet Pro M402-403 PLC6'打印机驱动程序,如果不安装...
  17. ORA-02287:此处不允许序号
  18. 以太坊系列(二)---Ubuntu20.04安装以太坊开发环境并建立私有链
  19. widowns上从chrome上抓取图片
  20. Oracle Corp甲骨文公司推出Oracle NoSQL数据库2.0版

热门文章

  1. Goolge Driver 聯動 Co-Lab Notebook
  2. centos关机命令(centos关机命令会重启)
  3. MySQL:事务:开启、回滚与提交
  4. JAVA 寻找-人鬼过河游戏的方法
  5. Docker技术入门与实战(第2版).
  6. 请实现一个算法,确定一个字符串的所有字符是否全都不同。这里我们要求不允许使用额外的存储结构。 给定一个string iniString,请返回一个bool值,True代表所有字符全都不同,False代
  7. mysqlsla安装
  8. centos7 安装MySQL5.7启动报错journalctl -xe 、mysql.sock' (2)处理办法及安装MySQL5.7
  9. Redis Demo系列之(四)排行榜
  10. android stm32 蓝牙模块,STM32+USART+蓝牙模块(BT04)