Web APIs 2:事件监听

server/2024/9/23 1:36:23/

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/server/120564.html

相关文章

Git常用指令整理【新手入门级】【by慕羽】

Git 是一个分布式版本控制系统&#xff0c;主要用于跟踪和管理源代码的更改。它允许多名开发者协作&#xff0c;同时提供了强大的功能来管理项目的历史记录和不同版本。本文主要记录和整理&#xff0c;个人理解的Git相关的一些指令和用法 文章目录 一、git安装 & 创建git仓…

110. 平衡二叉树

文章目录 110. 平衡二叉树题外话 本题思路递归 110. 平衡二叉树 110. 平衡二叉树 给定一个二叉树&#xff0c;判断它是否是 平衡二叉树 平衡二叉树 是指该树所有节点的左右子树的深度相差不超过 1。 示例 1&#xff1a; 输入&#xff1a;root [3,9,20,null,null,15,7] 输出…

Fyne ( go跨平台GUI )中文文档-容器和布局 (四)

本文档注意参考官网(developer.fyne.io/) 编写, 只保留基本用法 go代码展示为Go 1.16 及更高版本, ide为goland2021.2 这是一个系列文章&#xff1a; Fyne ( go跨平台GUI )中文文档-入门(一)-CSDN博客 Fyne ( go跨平台GUI )中文文档-Fyne总览(二)-CSDN博客 Fyne ( go跨平台GUI…

问题——IMX6UL的uboot无法ping主机或Ubuntu

主要描述可能的方向&#xff0c;不涉具体过程&#xff0c;详细操作可以查阅网上相关教程 跟随正点原子教程测试以太网端口时&#xff0c;即便按照步骤多次尝试也无法ping通&#xff0c;后补充了些许网络工程基础知识解决了这个问题。 uboot无法ping主机或Ubuntu有多种可能&…

【Pycharm】Pycharm创建Django提示pip版本需要升级

目录 1、现象 2、分析 3、本质 前言&#xff1a;经常使用pycharm创建django、flask等项目时候提示pip版本需要升级&#xff0c;解决方案 1、现象 使用Pycharm创建Django项目提示安装Django超时&#xff0c;报错建议pip升级22升级到24 2、分析 之前使用命令升级了pip到了24…

了解二八定律,提高工作效率、生活质量

掌握28定律&#xff1a;高效管理时间与资源 前言&#xff1a;今天看到一个概念叫"二八定律",我觉得很适用于我们工作和生活&#xff0c;今天不聊代码&#xff0c;我们来聊聊二八定律。 什么是28定律&#xff1f; 28定律&#xff0c;又称帕累托法则&#xff08;Par…

Golang Beego+Vue打造的高校科研工作管理系统,让信息发布更及时,项目管理更透明

&#x1f34a;作者&#xff1a;计算机毕设匠心工作室 &#x1f34a;简介&#xff1a;毕业后就一直专业从事计算机软件程序开发&#xff0c;至今也有8年工作经验。擅长Java、Python、微信小程序、安卓、大数据、PHP、.NET|C#、Golang等。 擅长&#xff1a;按照需求定制化开发项目…

[Redis] 渐进式遍历+使用jedis操作Redis+使用Spring操作Redis

&#x1f338;个人主页:https://blog.csdn.net/2301_80050796?spm1000.2115.3001.5343 &#x1f3f5;️热门专栏: &#x1f9ca; Java基本语法(97平均质量分)https://blog.csdn.net/2301_80050796/category_12615970.html?spm1001.2014.3001.5482 &#x1f355; Collection与…