首页 > 其他分享 >js事件基础知识

js事件基础知识

时间:2024-05-30 12:03:33浏览次数:18  
标签:function 触发 鼠标 js 表单 事件 按钮 基础知识

事件的基础知识

事件三要素:

事件源:  事件被触发的对象  谁被触发

事件类型:如何触发,什么事件例如鼠标点击,鼠标经过,键盘按下等

事件处理程序:通过函数赋值的方式完成

常用的事件:

1)、鼠标事件

onclick     当点击鼠标时运行的事件

onmousedown   当按下鼠标按钮时运行的事件

onmouseup      当松开鼠标按钮时运行的事件

onmousemove    当鼠标指针移动的时候运行的事件

onmouseover    当鼠标指针移动到元素之上时运行的事件(不可以阻止冒泡)

onmouseout      当鼠标指针移出元素时运行的事件(不可以阻止冒泡)

onmouseenter    当鼠标指针移到元素之上时运行的事件(可以阻止冒泡)

onmouseleave   当鼠标指针移出元素时运行的事件(可以阻止冒泡)

onmousewheel   当转动鼠标滚轮时运行的事件

onscroll    当滚动元素的滚动条时运行的事件

2)、键盘事件

onkeyup     键盘按键松开时触发的事件

onkeydown    键盘按键按下时触发的事件

onkeypress     键盘按键按下时触发的事件

3)、表单事件

onfocus       表单获得焦点时触发的事件

onblur         表单失去焦点时触发的事件

oninput        表单每次输入时触发的事件

onchange    表单内容发生改变时触发的事件

onselect       表单文本被选取时触发的事件

onreset        表单重置时触发的事件

onsubmit      表单提交时触发的事件

事件在代码中使用

1)、可以直接在script标签里面使用

     obj.事件名=function(){}

2)、可以在html标签行内使用

<!DOCTYPE html>
<html lang="en">

<head>
    <meta charset="UTF-8">
    <meta name="viewport" content="width=device-width, initial-scale=1.0">
    <title>Document</title>
</head>

<body>
    <button onclick="fun()">按钮1</button>
    <button class="btn">按钮2</button>
    <script>
        var btn = document.querySelector('.btn')
        btn.onclick = function () {
            console.log(222);
        }
        function fun() {
            console.log(111);
        }
    </script>
</body>

</html>

3)、事件监听

可以使用addEventListener来监听事件

obj.addEventListener('事件类型',function(){},[useCapture])

 useCapture:可选,是否在捕获阶段触发事件,需要一个布尔值,默认是false,在冒泡阶段处理程序,如果是true,就是在捕获阶段处理程序(后面事件流时,详细说)

注意:ie8及以下不支持

注意:事件类型不用加on

removeEventListener()用来解除绑定事件

<!DOCTYPE html>
<html lang="en">

<head>
    <meta charset="UTF-8">
    <meta name="viewport" content="width=device-width, initial-scale=1.0">
    <title>Document</title>
</head>

<body>
    <button class="btn1">按钮1</button>
    <button class="btn">按钮2</button>
    <script>
        var btn = document.querySelector('.btn')
        var btn1 = document.querySelector('.btn1')
        btn.addEventListener('click', function () {
            console.log(111);
        })
        btn1.addEventListener('click', fun)
        function fun() {
            console.log(222);
            // 让btn1点击一次后就解绑click事件
            btn1.removeEventListener('click', fun)
        }
    </script>
</body>

</html>

4)、事件对象 event

-当事件的响应函数被触发时,浏览器每次都会将一个事件对象作为实参

   传递进响应函数,在事件对象中封装了当前事件相关的一切信息

<!DOCTYPE html>
<html lang="en">

<head>
    <meta charset="UTF-8">
    <meta name="viewport" content="width=device-width, initial-scale=1.0">
    <title>Document</title>
</head>

<body>
    <button class="btn1">按钮1</button>
    <button class="btn">按钮2</button>
    <script>
        var body = document.body
        body.addEventListener('click', function (e) {
            // 点哪个按钮就打印哪个,点击谁事件对象就是谁
            console.log(e.target);
        })
        window.addEventListener('keydown', function (e) {
            // 根据点击不同的键拿到哪个键的keyCode值
            console.log(e.keyCode);
        })
    </script>
</body>

</html>

标签:function,触发,鼠标,js,表单,事件,按钮,基础知识
From: https://blog.csdn.net/qq_68971977/article/details/139317501

相关文章

  • JS中?? 与 || 的区别
     1)相同点:??和||的用法相同,都是前后是值,中间用符号连接,根据前面的值来判断最终是返回前面的值还是后面的值。One??TwoOne||Two2)不同点:判断的方法不同:使用??时,只有One为null或者undefined时才会返回two;使用||时,One会先转化为布尔值判断,为true时返回One......
  • 三维前端开发项目中Threejs的THREEScene函数详解
    THREE.Scene函数用于创建一个场景对象。大家好!艾斯视觉作为在IT行业中负责ui设计和前端开发环节的服务商很高兴能在这里与大家共同探讨学习:场景是Three.js中所有图形元素的容器,它可以包含相机、光源、几何体、材质等。创建场景对象的基本语法如下:constscene=newTHREE.S......
  • JS-07 深入了解闭包
    目录1变量作用域2 作用域链3认识闭包4经典面试题5闭包的应用6闭包内存释放7闭包的优势1变量作用域变量作用域的概念:就是一个变量可以使用的范围JS中首先有一个最外层的作用域:称之为全局作用域JS中还可以通过函数创建出一个独立的作用域(局部),其中函数可以嵌......
  • 如何初始化 FIrebase 云函数,以便使用凭据和 JSON 验证 Firebase Admin SDK 服务账户?
    我觉得我已经阅读了所有可用的资料,但我仍然无法理解这一点。我非常喜欢Google的产品,但有时其文档的简洁性令人头疼。我阅读了这个令人难以置信的雄辩答案,这个答案的作者和我一样毫无头绪,但他觉得有必要写一本循序渐进的儿童指南。不幸的是,他的回答过于针对他的项目,而不是我的项......
  • C#解析json的几种方式
    json格式的数据是javascript原生的一种数据格式,比xml更简洁。它有两种形式:json对象和json对象数组。 在此之前,有必要解释几个基本概念:json字符串,就是string,它一定是由双引号包起来的,如"{'name':'jerry'}"。这是一个string,尽管去掉双引号后它就是一个json对象。json对象,就是以......
  • Springboot报class path resource [xxxxx.json] cannot be resolved to URL because i
    当Springboot解析resources文件下的json文件时,在本地环境好用,部署到服务器上找不到文件内容报错classpathresource[xxxxx.json]cannotberesolvedtoURLbecauseitdosenotexist问题排查(1)pom.xml文件配置<build><resources><resource><d......
  • error in ./node_modules/@intlify/core-base/dist/core-base.cjs
    ERRORFailedtocompilewith1error......
  • JS取视频第一帧
    <!DOCTYPEhtml><htmllang="en"><head>  <metacharset="UTF-8">  <metaname="viewport"content="width=device-width,initial-scale=1.0">  <title>Document</title>&l......
  • C#中处理JSON数据的方式
    1.将对象序列化为JSON字符串在C#中,可以使用System.Text.Json和Newtonsoft.Json这两个流行的库来将对象序列化为JSON字符串。以下是使用这两个库进行序列化的示例代码:usingSystem;usingSystem.Text.Json;usingNewtonsoft.Json;publicclassPerson{publicstringN......
  • Java 中主要使用 Json 注释
    我从DB收到了JSON格式的数据,但我必须将所有字段对齐到适当的位置,如下所示:{"姓名":"Maveric"、"年龄":"26"、地址"波士顿街22号";}......