JavaScript事件详细讲解
来源: 阅读:628 次 日期:2016-07-12 14:52:08
温馨提示: 小编为您整理了“JavaScript事件详细讲解”,方便广大网友查阅!

事件的概念

事件:指的是文档或者浏览器窗口中发生的一些特定交互瞬间。我们可以通过侦听器(或者处理程序)来预定事件,以便事件发生的时候执行相应的代码。

一、事件流

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>

更多信息请查看网络编程
手机网站地址:JavaScript事件详细讲解
由于各方面情况的不断调整与变化, 提供的所有考试信息和咨询回复仅供参考,敬请考生以权威部门公布的正式信息和咨询为准!
关于我们 | 联系我们 | 人才招聘 | 网站声明 | 网站帮助 | 非正式的简要咨询 | 简要咨询须知 | 加入群交流 | 手机站点 | 投诉建议
工业和信息化部备案号:滇ICP备2023014141号-1 云南省教育厅备案号:云教ICP备0901021 滇公网安备53010202001879号 人力资源服务许可证:(云)人服证字(2023)第0102001523号
云南网警备案专用图标
联系电话:0871-65317125(9:00—18:00) 获取招聘考试信息及咨询关注公众号:hfpxwx
咨询QQ:526150442(9:00—18:00)版权所有:
云南网警报警专用图标
Baidu
map