JS-事件
事件
HTMl事件可以是浏览器行为,也可以是用户行为。当这一些行为发生时,可以自动触发对应的JS函数的运行,我们称之为事件发生,JS的事件驱动指的就是行为触发代码运行的这种特点
在html中使用事件调用函数时,一定不要忘了()
三种弹窗方式
- alert()信息提示框
- prompt()信息输入框
- confirm()信息确认框
- 这个函数的返回值为布尔类型,可以利用此返回值选择是否提交表单
//利用onsubmit事件调用这个方法,当点击取消时,不提交表单
function testSubmit(){
var flag = confirm("确定要提交表单吗");
if(!flag){
event.preventDefault();//阻止表单提交的方法
}
}
//当onsubmit="return testSubmit()"时,当点击取消时,不提交表单
function testSubmit(){
var flag = confirm("确定要提交表单吗");
if(!flag){
return false;
}
return true;
}
那么就可以简写成
//当onsubmit="return testSubmit()"时,当点击取消时,不提交表单
function testOnsubmit(){
return confirm("确定要提交表单吗?");
}
绑定方式
- 通过元素的属性绑定
- 通过DOM编程动态绑定
一个事件可以绑定多个函数
一个元素可以绑定多个事件
常见事件
鼠标事件
- onclick:当用户点击某个对象时调用的事件句柄
- ondbclick:当用户双击某个对象时调用的事件句柄
- onmouseover:当鼠标悬停时调用的事件句柄
- onmousemove:当鼠标移动时调用的事件句柄
- onmouseleave:当鼠标离开时调用的事件句柄
键盘事件
- onkeydown:当按键按下时调用的事件句柄
- onkeyup:当按键抬起时调用的事件句柄
表单事件*
-
onfocus:当表单获得焦点时调用的事件句柄
-
onblur:当表单失去焦点时调用的事件句柄
-
onchange:当内容发生改变时调用的事件句柄(内容改变,失去焦点)
-
onchange之后的事件方法传参为this.value,即可获取到改变的内容
<input type="text" onchange="testOnchange(this.value)">
-
-
onsubmit:当表单提交时调用的事件句柄
- 此事件要绑定在form标签中,而不是input标签中
-
onreset:当表单重置时调用的事件句柄
- 此事件要绑定在form标签中,而不是input标签中
页面加载事件
- onload:当页面加载完成时调用的事件句柄
- 此事件要绑定在body标签中
- 也可以通过在js代码中window.onload=function(){}完成对页面加载完成时的事件触发
通过DOM编程动态处理事件
<!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>