“点击查看显示全文”遇到的超链接默认访问的问题

今天在做一个例子,就是很常见的点击展开全文。
在这里插入图片描述
我觉得这是一个很简单的效果,也就几行代码的事,结果点击了以后立刻隐藏不见,控制台代码也不报错,耽误了我很长时间,最后才发现问题出在超链接身上。
“展开全文”是一个超链接,html代码如下。

<a href="" class="showAll">展开全文</a>

为了使 超链接显示如图所示的效果,它的CSS代码如下,向下的箭头这里是用图片做背景实现的。


.showAll{text-decoration: none;display: block;width: 120px;height: 34px;line-height: 34px;border: 1px solid #d8e7d4;border-radius: 20px; text-align: center;color:#318510;background: url(./images/showall2.png) no-repeat 95px center #e9f4e5;}

javaScript代码如下。

		<script>window.addEventListener('load', function() {var whole = document.querySelector('.showAll')whole.addEventListener('click',function() {document.querySelector(".intro").style.display = "block"this.style.display = 'none'})})</script>

结果按照以上的代码运行的时候,显示后快速消失,而其实js代码并没有语法逻辑等错误,我后来把click换成mouseover,可以正常执行,说明问题出在click点击事件上。而点击对于超链接会带来什么问题呢?超链接有默认的访问行为,我觉得自己找到了问题所在,去看了一下html代码,果然,在敲代码的时候,href=“”,里面什么也没有,我改成了href=“#”,就正常了。
为了程序更严谨,有两种方法:
第一种方法,可以把超链接按如下方式写:

<a href="javascript:void(0);" class="showAll">展开全文</a>

使用javascript:void(0);当用户点击以后不会发生任何事,从而去掉超链接的默认访问行为。

第二种方法,如果不修改html代码,还可以使用preventDefault()阻止默认行为,传递参数event,在javascript中加上一句 e.preventDefault() ,代码如下。

		<script>window.addEventListener('load', function() {var whole = document.querySelector('.showAll')whole.addEventListener('click',function(e) {e.preventDefault()     //  阻止超链接的默认行为document.querySelector(".intro").style.display = "block"  //隐藏的部分显示this.style.display = 'none'})})</script>

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.mzph.cn/news/700590.shtml

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

太阳能光伏电池模型参数辨识模型介绍

一、太阳能光伏电池模型参数辨识模型介绍 由于传统化石能源短缺问题日益严重&#xff0c;我国对新能源发展的重视提到了前所未有的高度。太阳能作为一种可再生能源&#xff0c;不会对环境造成污染&#xff0c;受到了越来越多的关注太阳能由于其储量丰富,无污染和无地域限制等优…

Clickhouse系列之连接工具连接、数据类型和数据库

基本操作 一、使用连接工具连接二、数据类型1、数字类型IntFloatDecimal 2、字符串类型StringFixedStringUUID 3、时间类型DateTimeDateTime64Date 4、复合类型ArrayEnum 5、特殊类型Nullable 三、数据库 一、使用连接工具连接 上一篇介绍了clickhouse的命令行登录&#xff0c…

【大厂AI课学习笔记NO.52】2.3深度学习开发任务实例(5)需求采集考虑维度

今天来学习&#xff0c;怎么做需求分析&#xff0c;如何明确数据采集需求。 我把自己考试通过的学习笔记&#xff0c;都分享到这里了&#xff0c;另外还有一个比较全的思维脑图&#xff0c;我导出为JPG文件了。下载地址在这里&#xff1a;https://download.csdn.net/download/g…

软件设计师软考题目解析02 --每日五题

想说的话&#xff1a;要准备软考了。0.0&#xff0c;其实我是不想考的&#xff0c;但是吧&#xff0c;由于本人已经学完所有知识了&#xff0c;只是被学校的课程给锁在那里了&#xff0c;不然早找工作去了。寻思着反正也无聊&#xff0c;就考个证玩玩。 本人github地址&#xf…

C++之std::async

std::async是C提供的一个异步处理函数。 函数原型&#xff1a; template<typename _Fn, typename... _Args> future<__async_result_of<_Fn, _Args...>> async(launch __policy, _Fn&& __fn, _Args&&... __args); 参数说明: int thFun(in…

MT8791迅鲲900T联发科5G安卓核心板规格参数_MTK平台方案定制

MT8791安卓核心板是一款搭载了旗舰级配置的中端手机芯片。该核心板采用了八核CPU架构设计&#xff0c;但是升级了旗舰级的Arm Cortex-A78核心&#xff0c;两个大核主频最高可达2.4GHz。配备了Arm Mali-G68 GPU&#xff0c;通过Mali-G88的先进技术&#xff0c;图形处理性能大幅提…

xtu oj 1233 Cycle Matrix 2.0

题目描述 给定N&#xff0c;输出一个N*N的矩阵&#xff0c;矩阵为N层&#xff0c;每层是一个字符&#xff0c;从A到Z。 比如说N3,矩阵为 CCCCC CBBBC CBABC CBBBC CCCCC输入 第一行是一个整数K&#xff08;K≤50&#xff09;,表示样例数。 每个样例占1行&#xff0c;为一个整…

更新从MySQL中读取数据时发现MySQL中的时间字段会相差8小时?

这里写自定义目录标题 修改事件A中的某些字段的数据&#xff0c;规则表中事件A对应的规则字段不发生改变 业务需求&#xff1a;需要将MySQL中的两张表同步到ES中&#xff08;新增、修改、删除同步&#xff09;&#xff0c;优化事件查询速度 解决方案&#xff1a;使用logstash-i…

对实现移动应用界面设计的思考

1. 屏幕 1.1. 屏幕的职责 现在的移动设备都使用触摸屏&#xff0c;触摸屏承担了两项职责&#xff1a;展示界面和处理用户操作指令。界面上展示的东西又可以分为内容和样式。比如展示一行大标题&#xff0c;标题文字是内容&#xff0c;字体、字号、颜色、背景色等等是样式。处…

Python 实现 ATR 指标计算(真实波幅):股票技术分析的利器系列(10)

Python 实现 ATR 指标计算&#xff08;真实波幅&#xff09;&#xff1a;股票技术分析的利器系列&#xff08;10&#xff09; 介绍算法解释 代码rolling函数介绍核心代码 完整代码 介绍 ATR&#xff08;真实波幅&#xff09;是一种技术指标&#xff0c;用于衡量市场波动性的程…

北航历届复试总结

政治题 科技兴国 英文翻译&#xff08;读一遍英文再翻译&#xff09; 随机抽一段计算机相关的英文论文&#xff0c;读一遍后翻译。建议全读完后再翻译&#xff0c;这样遇到不会的单词可以靠上下文猜一猜意思。之后如果你英语不强&#xff08;像我这种菜鸡&#xff09;&#xf…

【AHK】 MacOS复制粘贴习惯/MacOS转win键位使用习惯修改建议

自从转Mos后&#xff0c;转回win习惯又很不适应&#xff0c;怎么尽可能地降低两者的操作差异呢&#xff1f;通过AHK将大部分的Alt键位操作适当修改即可&#xff0c;特别是Home和End这类键&#xff0c;感觉是Mac的使用习惯更舒适 !c:: send,^c return!v:: send,^v return!x:: se…

content-type

content-type是什么 Content-Type 是 HTTP 协议中的一个头部字段&#xff08;Header Field&#xff09;&#xff0c;用于指示发送的实体数据的媒体类型&#xff08;Media Type&#xff09;。该字段用于告知服务器或客户端接收到的数据的内容类型&#xff0c;以便正确地处理和解…

如何获取 mysql 外键索引的元数据信息?

背景 对数据进行统一的管理处理&#xff0c;后续方便使用。 基本信息 见上一篇的处理。 select * from information_schema.KEY_COLUMN_USAGE where REFERENCED_TABLE_SCHEMA test \G;*************************** 1. row ***************************CONSTRAINT_CATALOG:…

Linux--ACL权限管理

一.ACL权限管理简介 ACL&#xff08;Access Control List&#xff0c;访问控制列表&#xff09;是一种文件权限管理机制&#xff0c;它提供了比传统的UGO&#xff08;用户、组、其他&#xff09;权限更灵活的权限设置方式。以下是ACL的一些主要功能&#xff1a; 针对特定用户或…

【Linux】docker构建环境编译运行linux内核

文章目录 1. 使用docker构建linux内核编译运行环境1.1. 为普通用户安装docker并验证是否安装成功1.1.1. 安装docker稳定版1.1.2. 启动docker1.1.3. 将当前用户加入docker用户组1.1.4. 验证docker是否安装成功 1.2. docker基本使用1.2.1. 列出所有镜像1.2.2. 查看当前所有容器的…

Vue3学习——路由

多级路由 routes:[{path:/about,component:About,},{path:/home,component:Home,children:[ //通过children配置子级路由{path:news, //此处一定不要写&#xff1a;/newscomponent:News},{path:message,//此处一定不要写&#xff1a;/messagecomponent:Message}]} ]命名路由 …

lower_bound详解

lower_bound是C标准模板库(STL)中的一个算法&#xff0c;用于在有序区间中查找第一个大于或等于给定值的元素的位置。这个函数非常有用&#xff0c;特别是当我们需要在有序数据集中进行二分查找时。下面是对lower_bound函数的详细讲解&#xff0c;包括其用法、原理、实现细节以…

pyqt如何实现拖拽打开文件(通过windows的快捷方式打开文件)

桌面端的开发中如何通过windows的快捷方式打开文件&#xff0c;那么如何将需要打开的数据传递给qt程序呢&#xff1f; 研究了一下发现很简单 通过sys.argv可以轻松的实现传参 sys.argv import sys print(sys.argv)这个方法可以获取系统传递给程序的参数&#xff0c;默认是个列…

企业型多域名SSL证书

多域名SSL证书是目前市场上用的比较多的一种&#xff0c;主要解决多个不同规则的域名申请&#xff0c;但不适合主域名&#xff08;根域名&#xff09;相同的域名&#xff0c;因为这种域名直接申请通配符。 企业型其实就是OV类型或者EV类型&#xff0c;由于在CA/B产品名称规范中…