JavaScript事件
来源:互联网 发布:淘宝开店在哪里拿货 编辑:程序博客网 时间:2024/06/16 11:37
事件举例
1.onmouseout和onmouseover
//鼠标经过“World”,鼠标移出“Hello”<div class="div" onmouseout="onOut(this)" onmouseover="onOver(this)"></div><script> function onOver(ooj){ ooj.innerHTML="Hello"; } function onOut(ooj){ ooj.innerHTML="World"; }</script>
2.文本框内容改变
<form> <input type="text" onchange="changeDemo(this)"></form><script> function changeDemo(bg){ alert("内容改变"); } </script>//或直接写<form> <input type="text" onchange="alert('内容改变')"></form>
3.文本框选中
<form> <input type="text" onselect="changeDemo(this)"></form><script> function changeDemo(bg){ bg.style.background="red"; } </script>
事件流
1.事件流:描述页面接受事件的顺序
2.事件冒泡:由最具体的元素接收,然后逐级向上传播至最不具体的元素(文档)
3.事件捕获:最不具体的结点先接收文件,而最具体的结点是最后接收事件
事件处理
1.HTML事件处理
缺点:修改繁琐
<div id="div"> <button id="btn" onclick="demo()">按钮</button></div><script> function demo(){ alert("hello world"); } </script>
2.DOM0级事件处理
缺点:事件会被覆盖
<div id="div"> <button id="btn" onclick="demo()">按钮</button></div><script> var btn=document.getElementById("btn"); btn.onclick=function(){alert("Hello world1")};//会被覆盖 btn.onclick=function(){alert("Hello world2")}; btn.onclick=null;//清除当前事件 </script>
3.DOM2级事件处理
addEventListener(“事件名”、“事件处理函数”、“布尔值”)
true(事件捕获)
false(事件冒泡)
特点:不会被覆盖,处理方便,书写复杂
<div id="div"> <button id="btn" onclick="demo()">按钮</button></div><script> var btn=document.getElementById("btn"); btn.addEventListener("click",demo); btn.addEventListener("click",bye);//不会覆盖,依次处理 btn.removeEventListener("click",bye);//移除 function demo(){ alert("hello world"); } function bye(){ alert("good bye"); }</script>
4.IE事件处理(IE8及以下)
attachEvent
detachEvent
兼容IE8及以下浏览器
<div id="div"> <button id="btn" onclick="demo()">按钮</button></div><script> var btn=document.getElementById("btn"); if(btn.addEventListener){ btn.addEventListener("click",demo); }else if(btn.attachEvent){ btn.attachEvent("onclick",demo); }else{ btn.onclick=demo(); } function demo(){ alert("hello"); }</script>
事件对象
事件对象event:
1.type:获取事件类型
2.target:获取事件目标
3.stopPropagation():阻止事件冒泡
4.preventDefault():阻止事件默认行为
<div id="div"> <button id="btn" onclick="demo()">按钮</button> <a href="http://www.baidu.com" id="aid">百度一下</a></div><script> document.getElementById("btn").addEventListener("click",showType); document.getElementById("div").addEventListener("click",showDiv); document.getElementById("aid").addEventListener("click",showA); function showType(event){ alert(event.type);//"click"类型 event.stopPropagation();//阻止div事件冒泡 } function showDiv(){ alert("div"); }//会出现事件的冒泡 function showA(event){ event.stopPropagation(); event.preventDefault();//阻止默认事件执行 }</script>
阅读全文
0 0
- Javascript事件
- javascript 事件
- Javascript 事件
- javascript 事件
- Javascript 事件
- JavaScript 事件 ***
- Javascript事件
- Javascript 事件
- JavaScript 事件
- Javascript 事件
- javascript事件
- javascript事件
- javascript 事件
- javascript事件
- javascript 事件
- JavaScript 事件
- JavaScript事件
- JavaScript 事件
- java之会话管理
- leetcode题解-138. Copy List with Random Pointer
- MySQL带AND关键字的多条件查询
- HDU 3085 Nightmare Ⅱ (双向广搜)
- 1038. 统计同成绩学生(20)
- JavaScript事件
- 网络基础 — IP地址数据报格式和TCP协议段格式的浅析
- 【C/C++】库函数中的字符串函数
- Mongodb安装配置详细图文教程
- quartz
- 如何让创建的eclipse项目支持myeclipse
- pwnable 之echo2
- 面向对象设计原则概述
- 【openjudge】分成互质组