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 相关文章推荐
DIY jquery plugin - tabs标签切换实现代码
Dec 11 Javascript
JS中动态添加事件(绑定事件)的代码
Jan 09 Javascript
如何使用json在前后台进行数据传输实例介绍
Apr 11 Javascript
JavaScript前端图片加载管理器imagepool使用详解
Dec 29 Javascript
jquery插件uploadify实现带进度条的文件批量上传
Dec 13 Javascript
Javascript自执行匿名函数(function() { })()的原理浅析
May 15 Javascript
Dropzone.js实现文件拖拽上传功能(附源码下载)
Nov 22 Javascript
浅析jsopn跨域请求原理及cors(跨域资源共享)的完美解决方法
Feb 06 Javascript
jQuery监听浏览器窗口大小的变化实例
Feb 07 Javascript
Vue.js 插件开发详解
Mar 29 Javascript
JS仿Base.js实现的继承示例
Apr 07 Javascript
使用vue-router完成简单导航功能【推荐】
Jun 28 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
php 学习资料零碎东西
2010/12/04 PHP
使用PHP实现Mysql读写分离
2013/06/28 PHP
常见PHP数据库解决方案分析介绍
2015/09/24 PHP
php实现三级级联下拉框
2016/04/17 PHP
Thinkphp 空操作、空控制器、命名空间(详解)
2017/05/05 PHP
Javascript数组的排序 sort()方法和reverse()方法
2012/06/04 Javascript
js自定义事件及事件交互原理概述(一)
2013/02/01 Javascript
Javascript实现颜色rgb与16进制转换的方法
2015/04/18 Javascript
jQuery+css实现的蓝色水平二级导航菜单效果代码
2015/09/11 Javascript
JS随机洗牌算法之数组随机排序
2016/03/23 Javascript
js中获取键盘事件的简单实现方法
2016/10/10 Javascript
JQuery 动态生成Table表格实例代码
2016/12/02 Javascript
PHP+jquery+ajax实现分页
2016/12/09 Javascript
获取今天,昨天,本周,上周,本月,上月时间(实例分享)
2017/01/04 Javascript
基于JavaScript实现五子棋游戏
2020/08/26 Javascript
vue地区选择组件教程详解
2018/05/04 Javascript
JS基于封装函数实现的表格分页完整示例
2018/06/26 Javascript
Vue高版本中一些新特性的使用详解
2018/09/25 Javascript
Javascript的this详解
2019/03/23 Javascript
vue移动端屏幕适配详解
2019/04/30 Javascript
实现高性能javascript的注意事项
2019/05/27 Javascript
微信小程序的引导页实现代码
2020/06/24 Javascript
[47:43]完美世界DOTA2联赛PWL S3 Magama vs GXR 第二场 12.19
2020/12/24 DOTA
简单介绍Python中的JSON使用
2015/04/28 Python
开源软件包和环境管理系统Anaconda的安装使用
2017/09/04 Python
关于PyTorch源码解读之torchvision.models
2019/08/17 Python
使用python执行shell脚本 并动态传参 及subprocess的使用详解
2020/03/06 Python
Python 发送邮件方法总结
2020/08/10 Python
Python爬取豆瓣数据实现过程解析
2020/10/27 Python
Chain Reaction Cycles芬兰:世界上最大的在线自行车商店
2017/12/06 全球购物
我看到了用指针调用函数的不同语法形式
2014/07/16 面试题
什么是符号链接,什么是硬链接?符号链接与硬链接的区别是什么?
2014/01/19 面试题
领导的自我鉴定
2013/12/28 职场文书
百年校庆节目主持词
2014/03/27 职场文书
学习经验交流会总结
2015/11/02 职场文书
2016大学优秀学生干部事迹材料
2016/03/01 职场文书