JS-事件

事件

HTMl事件可以是浏览器行为,也可以是用户行为。当这一些行为发生时,可以自动触发对应的JS函数的运行,我们称之为事件发生,JS的事件驱动指的就是行为触发代码运行的这种特点

在html中使用事件调用函数时,一定不要忘了()

三种弹窗方式

  • alert()信息提示框
  • prompt()信息输入框
  • confirm()信息确认框
    • 这个函数的返回值为布尔类型,可以利用此返回值选择是否提交表单
1
2
3
4
5
6
7
//利用onsubmit事件调用这个方法,当点击取消时,不提交表单
function testSubmit(){
var flag = confirm("确定要提交表单吗");
if(!flag){
event.preventDefault();//阻止表单提交的方法
}
}
1
2
3
4
5
6
7
8
//当onsubmit="return testSubmit()"时,当点击取消时,不提交表单
function testSubmit(){
var flag = confirm("确定要提交表单吗");
if(!flag){
return false;
}
return true;
}

那么就可以简写成

1
2
3
4
//当onsubmit="return testSubmit()"时,当点击取消时,不提交表单
function testOnsubmit(){
return confirm("确定要提交表单吗?");
}

绑定方式

  • 通过元素的属性绑定
  • 通过DOM编程动态绑定

一个事件可以绑定多个函数

一个元素可以绑定多个事件


常见事件

鼠标事件
  • onclick:当用户点击某个对象时调用的事件句柄
  • ondbclick:当用户双击某个对象时调用的事件句柄
  • onmouseover:当鼠标悬停时调用的事件句柄
  • onmousemove:当鼠标移动时调用的事件句柄
  • onmouseleave:当鼠标离开时调用的事件句柄
键盘事件
  • onkeydown:当按键按下时调用的事件句柄
  • onkeyup:当按键抬起时调用的事件句柄
表单事件*
  • onfocus:当表单获得焦点时调用的事件句柄

  • onblur:当表单失去焦点时调用的事件句柄

  • onchange:当内容发生改变时调用的事件句柄(内容改变,失去焦点)

    • onchange之后的事件方法传参为this.value,即可获取到改变的内容

      1
      <input type="text" onchange="testOnchange(this.value)">
  • onsubmit:当表单提交时调用的事件句柄

    • 此事件要绑定在form标签中,而不是input标签中
  • onreset:当表单重置时调用的事件句柄

    • 此事件要绑定在form标签中,而不是input标签中
页面加载事件
  • onload:当页面加载完成时调用的事件句柄
    • 此事件要绑定在body标签中
    • 也可以通过在js代码中window.onload=function(){}完成对页面加载完成时的事件触发

通过DOM编程动态处理事件

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
<!DOCTYPE html>
<html lang="en">
<head>
<meta charset="UTF-8" />
<meta name="viewport" content="width=device-width, initial-scale=1.0" />
<title>Document</title>
<script>
//使用dom编程绑定页面加载事件
window.onload = function () {
//使用dom编程获取div为对象
var div1 = document.getElementById("div1");
div1.onclick = function () {
div1.style.backgroundColor = "red";
};
var btn1 = document.getElementById("btn1");
btn1.onclick = function () {
//使用dom编程触发事件
div1.onclick();
};
};
</script>
<style>
#div1 {
width: 100px;
height: 100px;
background-color: yellow;
}
</style>
</head>
<body>
<div id="div1"></div>
<button id="btn1">按钮</button>
</body>
</html>


JS-事件
http://blog.170827.xyz/2024/03/30/JS-事件/
作者
XIAOBAI
发布于
2024年3月30日
许可协议