事件:可以被JavaScript侦测到的行为
onClick 单击事件
onMouseOver 鼠标经过事件
onMouseOut 鼠标移出事件
onChange 文本内容改变事件
onSelect 文本框选中事件
onFocus 光标聚集事件
onBlur 移开光标事件
onLoad 网页加载时间
onUnload 关闭网页事件
事件流
描述的是页面中接受事件的顺序
事件冒泡:由最具体的元素就收,然后逐级向上传播至最不具体的元素的节点(文档)
事件捕获:最不具体的节点先接收事件,而最具体的节点应该是最后接收事件
事件处理
1.HTML事件处理:
直接添加到HTML结构中
<div id="div">
<button id="btn1" onclick="demo()">按钮</button>
</div>
<script>
function demo(){
alert("Hello html事件处理");
}
</script>
弊端:修改时,需修改两处
2.DOM0级事件处理
把一个函数赋值给一个事件处理程序属性
<div id="div">
<button id="btn1" onclick="demo()">按钮</button>
</div>
<script>
var btn1 = document.getElementById("btn1");
btn1.onclick = function (){alert("Hello DOM0级事件处理程序1")};//被覆盖掉
btn1.onclick = function (){alert("Hello DOM0级事件处理程序2")};
btn1.onclick = function (){alert("Hello DOM0级事件处理程序3")};
btn1.onclick = null;
</script>
弊端:事件1、2 会被3覆盖掉
3.DOM2级事件处理
addEventListener("事件名","事件处理函数","布尔值")
true:事件捕获
false:事件冒泡
removeEventListener();
<div id="div">
<button id="btn1" onclick="demo()">按钮</button>
</div>
<script>
var btn1 = document.getElementById("btn1");
btn1.addEventListener("click",demo1);
btn1.addEventListener("click",demo2);
function demo1(){
alert("Hello DOM2级事件处理程序1");
}
function demo2(){
alert("Hello DOM2级事件处理程序2");
}
btn1.removeEventListener("click",demo1);
btn1.removeEventListener("click",demo2);
</script>
事件1、2不会覆盖,会依次出现
4.IE事件处理程序 小于IE8
attachEvent 添加事件
detachEvent 移除事件
<div id="div">
<button id="btn1" onclick="demo()">按钮</button>
</div>
<script>
var btn1 = document.getElementById("btn1");
if(btn1.addEventListener){
btn1.addEventListener("click",demo);
}else if(btn1.attachEvent){//IE
btn1.attachEvent("onclick",demo);
}else{
btn1.onclick = demo();
}
function demo(){
alert("Hello");
}
</script>
JS事件
最后编辑于 :
©著作权归作者所有,转载或内容合作请联系作者
- 文/潘晓璐 我一进店门,熙熙楼的掌柜王于贵愁眉苦脸地迎上来,“玉大人,你说我怎么就摊上这事。” “怎么了?”我有些...
- 文/花漫 我一把揭开白布。 她就那样静静地躺着,像睡着了一般。 火红的嫁衣衬着肌肤如雪。 梳的纹丝不乱的头发上,一...
- 文/苍兰香墨 我猛地睁开眼,长吁一口气:“原来是场噩梦啊……” “哼!你这毒妇竟也来了?” 一声冷哼从身侧响起,我...
推荐阅读更多精彩内容
- HTML 学习笔记 May 13,2017 js事件驱动机制、js事件分类、js访问css技术、js事件驱动机制深...
- HTML 学习笔记 May 12,2017 JS 面向对象三大特征(封装、继承、多态)、多态经典案例、补讲闭包细节...