JavaScript事件详细讲解
作者:yeleven 时间:2023-08-24 04:51:48
事件的概念
事件:指的是文档或者浏览器窗口中发生的一些特定交互瞬间。我们可以通过 * (或者处理程序)来预定事件,以便事件发生的时候执行相应的代码。
一、事件流
1.事件流:描述的是在页面中接受事件的顺序
2.事件冒泡:由最具体的元素接收,然后逐级向上传播至最不具体的元素的节点(文档)
3.事件捕获:最不具体的节点先接收事件,而最具体的节点应该最后接收事件
二、事件处理
1.HTML事件处理:直接添加到HTML结构中
2.DOM0级事件处理:把一个函数赋值给一个事件处理程序属性
3.DOM2级事件处理:
addEventListener("事件名","事件处理函数",布尔值)
true:事件捕获
false:事件冒泡
removeEventListener();
4.IE事件处理程序
attachEvent
detachEvent
<!DOCTYPE html>
<html>
<head>
<meta charset="UTF-8">
<title></title>
</head>
<body>
<div id="div">
<button id="btn1">按钮</button>
</div>
<!--<script>
function demo(){
alert("Hello HTML事件处理");
}
</script>-->
<!--<script>
var btn1 = document.getElementById("btn1");
btn1.onclick = function(){alert("Hello DOM0级事件处理程序")};//被覆盖掉
btn1.onclick = function(){alert("Hello DOM0级事件处理程序2")};
btn1.onclick = function(){alert("Hello DOM0级事件处理程序3")};
</script>-->
<!--<script>
var btn1 = document.getElementById("btn1");
btn1.addEventListener("click",demo1);
btn1.addEventListener("click",demo2);
btn1.addEventListener("click",demo3);
function demo1(){
alert("DOM2级事件处理程序1");
}
function demo2(){
alert("DOM2级事件处理程序2");
}
function demo3(){
alert("DOM2级事件处理程序3");
}
btn1.removeEventListener("click",demo2)
</script>-->
<script>
var btn1 = document.getElementById("btn1");
if(btn1.addEventListener){
btn1.addEventListener("click",demo);
}else if(btn1.attachEvent){
btn1.attachEvent("onclick",demo)
}else{
btn1.onclick = demo();
}
function demo(){
alert("Hello");
}
</script>
</body>
</html>
三、事件对象
1、事件对象:在触发DOM事件的时候都会产生一个对象
2、事件对象event:
type:获取事件类型
target:获取事件目标
stopPropagation():阻止事件冒泡
preventDefault():阻止事件默认行为
<!DOCTYPE html>
<html>
<head>
<meta charset="UTF-8">
<title></title>
</head>
<body>
<div id="div">
<button id="btn1">按钮</button>
<a href="http://www.baidu.com" id="aid">百度</a>
</div>
<script>
document.getElementById("btn1").addEventListener("click",showType);
document.getElementById("div").addEventListener("click",showDiv);
document.getElementById("aid").addEventListener("click",showA);
function showType(event){
// alert(event.type);
alert(event.target);
event.stopPropagation();//阻止事件冒泡
}
function showDiv(){
alert("div")
}
function showA(event){
// event.stopPropagation();
// event.preventDefault();
}
</script>
</body>
</html>
来源:http://11317783.blog.51cto.com/11307783/1793193
标签:js,事件


猜你喜欢
Python中使用pprint函数进行格式化输出的教程
2022-08-26 03:34:17
java连接mysql底层封装详解
2024-01-26 17:31:19
浅谈numpy数组的几种排序方式
2022-04-24 12:48:15
python自动化调用百度api解决验证码
2023-03-18 19:21:27

树莓派实现移动拍照
2021-10-07 18:02:25
JS高阶函数原理与用法实例分析
2024-05-09 10:36:21
关于MySQL分区表的一个性能BUG
2024-01-17 00:30:11

详解webpack编译速度提升之DllPlugin
2024-02-23 20:57:10

Python GUI库Tkiner使用方法代码示例
2022-03-26 04:51:29

详解使用Visual Studio Code对Node.js进行断点调试
2023-07-01 07:32:34

SQL Server数据库分离和附加数据库的操作步骤
2024-01-27 19:59:23

ASP.NET中使用SQL存储过程的方法
2007-08-24 09:31:00
通过缓存+SQL修改优雅地优化慢查询
2024-01-21 12:01:16

asp如何向客户端发送提示“出错信息”?
2010-06-09 18:50:00
Tensorflow中的降维函数tf.reduce_*使用总结
2021-10-18 15:16:14
br玩转清除浮动
2007-05-11 16:52:00
ASP使用xmlhttp调用WEBSERVICE文档
2008-05-30 13:56:00
解决SqlServer 各版本 sa帐户不能登录问题
2024-01-19 11:36:02
golang gorm实现get请求查询案例测试
2024-05-09 10:09:31

Python按行读取文件的实现方法【小文件和大文件读取】
2021-12-11 01:31:08