js的事件函数和事件监听函数

简介: js的事件函数和事件监听函数

JavaScript在实际项目中的事件函数茫茫多,本文主要是总结一下基本并且常用的事件函数:

1、鼠标事件

           onclick: 点击事件

           ondblclick: 双击事件

           

           onmouseover: 鼠标进入“某对象区域”

           onmouseout: 鼠标离开“某对象区域”

           

           onmousedown: 鼠标按下

           onmouseup: 鼠标抬起

           onmousemove: 鼠标移动。

2. 表单事件:

           onsubmit:表单提交事件

           

           onfocus:一个表单项获得焦点。(就是鼠标在输入框中点击,可以输入内容)

           onblur: 一个表单项失去焦点。(就是鼠标离开输入框,在别的元素发生鼠标事件)

           

           onchange: 一个表单项的内容的改变(通常用于select选项值的改变)

           onreset: 表单重置事件

3. 键盘事件:

           onkeydown: 按键按下去(尚未抬起来)

           onkeyup:    按钮抬起来。

           onkeypress:     按键一次(不包含功能键,比如退格键、回车键)。

4.窗口事件:

           onload:  网页一打开时发生——准确点说,是网页加载完毕时发生。

           onunload: 卸载

来一个简单的实例

<!DOCTYPE html>
      <html>
        <head>
          <meta charset="UTF-8">
          <title></title>
          <style type="text/css">
            #box1{
              width: 300px;
              height: 200px;
              text-align: center;
              background: orangered;
              font: 30px/25px "微软雅黑";
              color: white;
            }
          </style>
        </head>
        <body onload="alert('欢迎光临!')">
          <!--双击-->
          <input type="button" id="btn1" value="双击我" ondblclick="f1();" />
          <!--移入和移出-->
          <div id="box1" onmouseover="f2();" onmouseout="f3(this);">
            我是默认的文字
          </div>
          <!--获取焦点和失去焦点-->
          <form action="" method="post">
            <input type="text" id="userName" value="请输入用户名" onfocus="this.value='';" onblur="userCheck();" onkeyup="alert(event.keyCode);" />
            <!--当选项发生改变时-->
            籍贯:
            <select onchange="alert(this.value);">
              <option>请选择</option>
              <option>广东省</option>
              <option>江西省</option>
              <option>福建省</option>
            </select>
            <input type="submit" value="提交"/>
          </form>
          <input type="button" id="" value="关闭窗口" onclick="window.close();" />
          <script type="text/javascript">
            function f1() {
              var b1=document.getElementById("btn1");
              b1.style.fontSize="50px";
            }
            function f2() {
              var box1=document.getElementById("box1");
              box1.innerHTML="发发发!";
            }
            function f3(bianliang) {
              //var box1=document.getElementById("box1");
              //box1.innerHTML="我是默认的文字!";
              bianliang.innerHTML="我是默认的文字!";
              //this表示一个对象自己(元素节点对象)
            }
            //语句少可以直接写在事件上面,语句多最好定义成函数,在通过事件调用函数
            //this.value==''?this.value='请输入用户名':'';
            function userCheck() {
              var yhm=document.getElementById("userName");
              if(yhm.value=="")
              {
                yhm.value="请输入用户名";
              }
            }
          </script>
        </body>
      </html>

JS常用事件

绑定事件监听函数

语法为:元素.addEventListener(事件名,执行程序,true/false

此方法可以重复绑定相同的事件,或是绑定多个事件,并且不需要加 on 前缀

<button id="isButton">按钮</button>
<script>
let isButton = document.getElementById('isButton');
isButton.addEventListener('click',function() {
alert('事件响应');
})
</script>

注意:

          参数 3 为可选项,如果为 true 表示事件处理程序以捕捉模式触发;从顶层的父节点开始触发事件,从外到内传播。简称事件捕获。 默认参数是 false,事件处理程序以冒泡模式触发;从最内层的节点开始触发事件,逐级冒泡 直到顶层节点,从内向外传播。简称事件冒泡

相关文章
|
3天前
|
JavaScript 前端开发
JavaScript 闭包:让你更深入了解函数和作用域
JavaScript 闭包:让你更深入了解函数和作用域
|
3天前
|
JavaScript 前端开发 网络架构
函数柯里化:JavaScript中的高级技巧
函数柯里化:JavaScript中的高级技巧
|
3天前
|
JavaScript 前端开发
JavaScript的`apply`方法:函数的“应用”与“调用”
JavaScript的`apply`方法:函数的“应用”与“调用”
|
3天前
|
JavaScript 前端开发
JavaScript的`bind`方法:函数的“复制”与“定制”
JavaScript的`bind`方法:函数的“复制”与“定制”
|
3天前
|
JavaScript 前端开发
JavaScript的`call`方法:实现函数间的调用!
JavaScript的`call`方法:实现函数间的调用!
|
3天前
|
消息中间件 存储 设计模式
JavaScript发布订阅模式:实现事件驱动编程!
JavaScript发布订阅模式:实现事件驱动编程!
|
3天前
|
设计模式 存储 消息中间件
JavaScript观察者模式:实现对象间的事件通信!
JavaScript观察者模式:实现对象间的事件通信!
|
4天前
|
JavaScript 前端开发
在JavaScript中,函数原型(Function Prototype)是一个特殊的对象
【5月更文挑战第11天】JavaScript中的函数原型是一个特殊对象,它为所有函数实例提供共享的方法和属性。每个函数在创建时都有一个`prototype`属性,指向原型对象。利用原型,我们可以向所有实例添加方法和属性,实现继承。例如,我们定义一个`Person`函数,向其原型添加`greet`方法,然后创建实例`john`和`jane`,它们都能调用这个方法。尽管可以直接在原型上添加方法,但推荐在构造函数内部定义以封装数据和逻辑。
18 2
|
4天前
|
前端开发 JavaScript 数据处理
在JavaScript中,异步函数是指什么
【5月更文挑战第9天】JavaScript中的异步函数用于处理非立即完成的操作,如定时器、网络请求等。它们可通过回调函数、Promise或async/await来实现。示例展示了如何使用async/await模拟网络请求:定义异步函数fetchData返回Promise,在另一异步函数processData中使用await等待结果并处理。当fetchData的Promise解析时,data变量接收结果并继续执行后续代码。注意,调用异步函数不会阻塞执行,而是会在适当时间点继续。
12 0
|
4天前
|
自然语言处理 JavaScript 前端开发
在JavaScript中,this关键字的行为可能会因函数的调用方式而异
【5月更文挑战第9天】JavaScript中的`this`关键字行为取决于函数调用方式。在非严格模式下,直接调用函数时`this`指全局对象,严格模式下为`undefined`。作为对象方法调用时,`this`指向该对象。用`new`调用构造函数时,`this`指向新实例。通过`call`、`apply`、`bind`可手动设置`this`值。在回调和事件处理中,`this`可能不直观,箭头函数和绑定方法可帮助管理`this`的行为。
15 1