javaScript事件学习小结(四)event的公共成员(属性和方法)


Posted in Javascript onJune 09, 2016

相关阅读:

JavaScript事件学习小结(五)js中事件类型之鼠标事件

b、通过type属性,可以在一个函数中处理多个事件。

原理:通过检测event.type属性,对不同事件进行不同处理。

举例:定义一个handler函数用来处理3种事件:click,mouseover,mouseout。

<body>
<input id="btn" type="button" value="click"/>
<script>
var handler=function(event){
 switch (event.type){
 case "click":
 alert("clicked");
 break;
 case "mouseover":
 event.target.style.backgroundColor="pink";
 break;
 case "mouseout":
 event.target.style.backgroundColor="";
 }
};
 var btn=document.getElementById("btn");
 btn.onclick=handler;
 btn.onmouseover=handler;
 btn.onmouseout=handler;
</script>
</body>

运行效果:点击按钮,弹出框。鼠标经过按钮,按钮背景色变为粉色;鼠标离开按钮,背景色恢复默认。

c、stopPropagation()和stopImmediatePropagation()对比

同:stopPropagation()和 stopImmediatePropagation()都可以用来取消事件的进一步捕获或冒泡。

异:二者的区别在于当一个事件有多个事件处理程序时,stopImmediatePropagation()可以阻止之后事件处理程序被调用。

举例:

<body>
<input id="btn" type="button" value="click"/>
<script>
 var btn=document.getElementById("btn");
 btn.addEventListener("click",function(event){
 console.log("buttn click listened once");
// event.stopPropagation();//取消注释查看效果
// event.stopImmediatePropagation();//取消注释查看效果
 },false);
 btn.addEventListener("click",function(){
 console.log("button click listened twice");
 },false);
 document.body.onclick= function (event) {
 console.log("body clicked");
 }
</script>
</body>

运行效果:

javaScript事件学习小结(四)event的公共成员(属性和方法)

d、eventPhase

eventPhase值在捕获阶段为1,处于目标阶段为2,冒泡阶段为3。

例子:

<body>
<input id="btn" type="button" value="click"/>
<script>
var btn=document.getElementById("btn");
btn.onclick= function (event) {
 console.log("按钮DOM0级方法添加事件处理程序eventPhase值为?"+event.eventPhase);
}
btn.addEventListener("click",function(event){
 console.log("按钮DOM2级方法添加事件处理程序,且addEventListener第三个参数为true时eventPhase值为?"+event.eventPhase);
},true);
btn.addEventListener("click",function(event){
 console.log("按钮DOM2级方法添加事件处理程序,且addEventListener第三个参数为false时eventPhase值为?"+event.eventPhase);
},false);
 document.body.addEventListener("click", function (event) {
 console.log("body上添加事件处理程序,且在捕获阶段eventPhase值为?"+event.eventPhase);
 },true);
document.body.addEventListener("click", function (event) {
 console.log("body上添加事件处理程序,且在冒泡阶段eventPhase值为?"+event.eventPhase);
},false);
</script>

运行效果:

javaScript事件学习小结(四)event的公共成员(属性和方法)

2、IE中event的公共成员

IE中的event的属性和方法和DOM一样会随着事件类型的不同而不同,但是也有一些是所有对象都有的公共成员,且这些成员大部分有对应的DOM属性或方法。

javaScript事件学习小结(四)event的公共成员(属性和方法)

以上所述是小编给大家介绍的javaScript事件学习小结(四)event的公共成员(属性和方法)的相关知识,希望对大家有所帮助,如果大家有疑问欢迎给我留言!

Javascript 相关文章推荐
一个对于js this关键字的问题
Jan 09 Javascript
javascript addBookmark 加入收藏 多浏览器兼容
Aug 15 Javascript
extjs3 combobox取value和text案例详解
Feb 06 Javascript
jQuery提交多个表单的小例子
Jun 30 Javascript
javascript与jquery中跳出循环的区别总结
Nov 04 Javascript
JavaScript中的全局对象介绍
Jan 01 Javascript
谈谈impress.js初步理解
Sep 09 Javascript
详解Angular的双向数据绑定(MV-VM)
Dec 26 Javascript
浅谈vuex之mutation和action的基本使用
Aug 29 Javascript
vue技术分享之你可能不知道的7个秘密
Apr 09 Javascript
微信小程序使用 vant Dialog组件的正确方式
Feb 21 Javascript
javascript 使用sleep函数的常见方法详解
Apr 26 Javascript
JavaScript事件学习小结(一)事件流
Jun 09 #Javascript
JavaScript事件学习小结(五)js中事件类型之鼠标事件
Jun 09 #Javascript
基于JS如何实现类似QQ好友头像hover时显示资料卡的效果(推荐)
Jun 09 #Javascript
JS实现星星评分功能实例代码(两种方法)
Jun 09 #Javascript
Node.js中npm常用命令大全
Jun 09 #Javascript
jQuery EasyUI框架中的Datagrid数据表格组件结构详解
Jun 09 #Javascript
Active控件问题小结(附解决办法)
Jun 09 #Javascript
You might like
开源SNS系统-ThinkSNS
2008/05/18 PHP
PHP简单的MVC框架实现方法
2015/12/01 PHP
24条货真价实的PHP代码优化技巧
2016/07/28 PHP
PHP简单装饰器模式实现与用法示例
2017/06/22 PHP
javascript实现仿银行密码输入框效果的代码
2007/12/13 Javascript
jquery 1.3.2 IE8中的一点点的小问题解决方法
2009/07/10 Javascript
js 弹出框 替代浏览器的弹出框
2010/10/29 Javascript
javascript中获取下个月一号,是星期几
2012/06/01 Javascript
node.js中的fs.truncateSync方法使用说明
2014/12/15 Javascript
jquery简单倒计时实现方法
2015/12/18 Javascript
最全面的JS倒计时代码
2016/09/17 Javascript
JavaScript实现QQ聊天消息展示和评论提交功能
2017/05/22 Javascript
jQuery实现锚点向下平滑滚动特效示例
2017/08/29 jQuery
微信小程序仿微信运动步数排行(交互)
2018/07/13 Javascript
vue.js实现带日期星期的数字时钟功能示例
2018/08/28 Javascript
详解vue-cli 3.0 build包太大导致首屏过长的解决方案
2018/11/10 Javascript
JavaScript数据结构与算法之二叉树实现查找最小值、最大值、给定值算法示例
2019/03/01 Javascript
ES6知识点整理之Proxy的应用实例详解
2019/04/16 Javascript
vue实现Excel文件的上传与下载功能的两种方式
2019/06/28 Javascript
Vue.js实现立体计算器
2020/02/22 Javascript
TypeScript 运行时类型检查补充工具
2020/09/28 Javascript
老生常谈Python之装饰器、迭代器和生成器
2017/07/26 Python
Python 中 Virtualenv 和 pip 的简单用法详解
2017/08/18 Python
100行python代码实现跳一跳辅助程序
2018/01/15 Python
使用Python从零开始撸一个区块链
2018/03/14 Python
python  文件的基本操作 菜中菜功能的实例代码
2019/07/17 Python
实例讲解CSS3中Transform的perspective属性的用法
2016/04/22 HTML / CSS
德国最大的婴儿用品网上商店:Kidsroom.de(支持中文)
2020/09/02 全球购物
台湾屈臣氏网路商店:Watsons台湾
2020/12/29 全球购物
以下的初始化有什么区别
2013/12/16 面试题
大学生通用个人的自我评价
2014/02/10 职场文书
房屋买卖协议书
2014/04/10 职场文书
大学活动总结模板
2014/07/10 职场文书
高中班主任心得体会
2016/01/07 职场文书
mysql 获取时间方式
2022/03/20 MySQL
Python必备技巧之函数的使用详解
2022/04/04 Python