Web APIs 2:事件监听

news/2024/9/23 2:43:27/

Web APIs 2(事件监听)

1.事件监听
  • 语法:

    元素对象.addEventListener(‘事件类型’,要执行的函数)

    • 事件源:获取的dom元素
    • 事件类型:用什么方式触发,比如鼠标单击click、鼠标经过mouseover等
    • 事件调用的函数:要做的事情
//点击x图标关闭广告
<button>点击</button><div class="box"><p>我是一个广告</p><i class="bi bi-x-circle"></i></span></div><script>const btn = document.querySelector('button')btn.addEventListener('click', function () {alert("事件监听成功!")})const x = document.querySelector('.box i')const box = document.querySelector('.box')x.addEventListener('click', function () {box.style.display = 'none'})
2.事件类型
  • 鼠标事件:click、mouseenter(鼠标经过)、mouseleave(鼠标离开)
  • 焦点事件(表单):focus(获得焦点)、blur(失去焦点)
  • 键盘事件:Keydown(键盘按下触发)、Keyup(键盘抬起触发)
  • 文本事件:input(用户输入事件)
3.事件对象
  • 概念:事件对象中有事件触发时的相关信息

    • eg:鼠标点击事件中,事件对象就存了鼠标点在哪个位置等信息
    • eg:用户按下哪个键,比如按下回车键发送消息
  • 语法:

    • 事件监听绑定的回调函数的第一个参数就是事件对象,一般命名为event\ev\e
    元素.addEventListener('click',function(e){ })
    
  • 属性:

    • type:事件类型
    • clientX/clientY:获取光标对于浏览器课件窗口左上角的位置
    • offsetX/offsetY:获取光标相对于当前DOM元素左上角的位置
    • key:用户按下的键盘键的值
<body><input type="text"><script>const input = document.querySelector('input')input.addEventListener('keyup', function (e) {console.log(e.key)if (e.key === 'Enter') {//当需要按下回车键才发送时,就可以采用事件对象,当事件对象的key属性为回车时,触发发送console.log('我按下了回车键')}})</script>
</body>
4.环境对象this
  • 指的是函数内部特殊的变量this,代表当前函数运行时所处的环境
  • 判断this指向的粗略规则:【谁调用,this就指向谁】
  • 作用:使得代码更简洁
5.回调函数
  • 概念:函数A作为参数传递给函数B时,我们称函数A为回调函数

http://www.ppmy.cn/news/1529115.html

相关文章

Mac 搭建仓颉语言开发环境(Cangjie SDK)

文章目录 仓颉编程语言通用版本SDK Beta试用报名仓颉语言文档注册 GitCode登录 GitCode 下载 Cangjie SDK配置环境变量VSCode 插件VSCode 创建项目 仓颉编程语言通用版本SDK Beta试用报名 https://wj.qq.com/s2/14870499/c76f/ 仓颉语言文档 https://developer.huawei.com/c…

QT + WebAssembly + Vue环境搭建

Qt6.7.2安装工具 emsdk安装 git clone https://github.com/emscripten-core/emsdk.git cd emsdk emsdk install 3.1.50 emsdk activate 3.1.50 Qt Creator配置emsdk 效果 参考 GitHub - BrockReece/vue-wasm: Vue web assembly loader Emscripten cmake多版本编译-CSDN博客 …

Spring Boot集成Akka remoting快速入门Demo

1.什么是Akka remoting&#xff1f; Akka-Remoting一种ActorSystem之间Actor对Actor点对点的沟通协议.通过Akka-Remoting来实现一个ActorSystem中的一个Actor与另一个ActorSystem中的另一个Actor之间的沟通 Akka Remoting限制&#xff1a; 不支持NAT&#xff08;Network Add…

SQLiteDatabase insert or replace数据不生效

在Android开发中&#xff0c;如果您在SQLite数据库中更新了数据&#xff0c;但重启应用后更新的数据不再生效&#xff0c;那么可能的原因有&#xff1a; 更新操作没有正确执行&#xff0c;可能是由于SQL语句错误或者数据库没有正确打开。 更新操作在事务中没有被正确提交。 更…

qt--Qml控件库如何从外部导入

文章目录 两种方案方案1 给项目添加子项目方案2 使用pri文件 综合来说 &#xff1a; 两种方案 方案1 给项目添加子项目 利用git的特性 对应的子项目就是我们的控件库 然后需要哪个控件 在父项目的qrc路径进行导入 即可将控件库里面的控件给导入项目 在使用的时候 使用模…

[Python学习日记-26] Python 中的文件操作

[Python学习日记-26] Python 中的文件操作 简介 操作模式 循环文件 其他功能 混合模式 修改文件 简介 在 Python 中的文件操作其实和我们平时使用的 Word 的操作是比较类似的&#xff0c;我们先说一下 Word 的操作流程&#xff0c;流程如下&#xff1a; 找到文件&#x…

基于vue框架的宠物托管系统设计与实现is203(程序+源码+数据库+调试部署+开发环境)系统界面在最后面。

系统程序文件列表 项目功能&#xff1a;用户,宠物种类,商家,咨询商家,用户宠物,宠物托管,宠物状况,宠物用品,用品分类,商家公告,结束托管,账单信息,延长托管 开题报告内容 基于Vue框架的宠物托管系统设计与实现开题报告 一、引言 随着现代生活节奏的加快&#xff0c;越来越…

发现编程的全新境界——明基RD280U显示器使用体验

前言 在大学的四年里&#xff0c;我几乎每天都泡在实验室&#xff0c;盯着电脑屏幕&#xff0c;一行行地码代码。那时&#xff0c;学校提供的显示器是非常基础的款式&#xff0c;功能简单&#xff0c;几乎没有任何特别之处&#xff0c;甚至配置也比较低。那个时候&#xff0c;…