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 相关文章推荐
JavaScript学习笔记(二) js对象
Oct 25 Javascript
jQuery UI Autocomplete 体验分享
Feb 14 Javascript
jquery预览图片实现鼠标放上去显示实际大小
Jan 16 Javascript
js脚本实现数据去重
Nov 27 Javascript
jQuery延迟加载图片插件Lazy Load使用指南
Mar 25 Javascript
基于jQuery滑动杆实现购买日期选择效果
Sep 15 Javascript
JavaScript高级教程5.6之基本包装类型(详细)
Nov 23 Javascript
JavaScript数组去重的6个方法
Jan 21 Javascript
webpack+vuex+axios 跨域请求数据的示例代码
Mar 06 Javascript
Angular搜索场景中使用rxjs的操作符处理思路
May 30 Javascript
小程序多图列表实现性能优化的方法步骤
May 28 Javascript
VUE项目实现主题切换的多种方法
Nov 26 Vue.js
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中的注释、变量、数组、常量、函数应用介绍
2012/11/16 PHP
超详细的php用户注册页面填写信息完整实例(附源码)
2015/11/17 PHP
PHP 的比较运算与逻辑运算详解
2016/05/12 PHP
PHP与Web页面的交互示例详解一
2020/08/04 PHP
JSON 学习之JSON in JavaScript详细使用说明
2010/02/23 Javascript
Array, Array Constructor, for in loop, typeof, instanceOf
2011/09/13 Javascript
Three.js源码阅读笔记(基础的核心Core对象)
2012/12/27 Javascript
jquery属性选择器not has怎么写 行悬停高亮显示
2013/11/13 Javascript
JS文本获得焦点清除文本文字的示例代码
2014/01/13 Javascript
js判断60秒以及倒计时示例代码
2014/01/24 Javascript
Node.js 的异步 IO 性能探讨
2014/10/08 Javascript
JQuery中clone方法复制节点
2015/05/18 Javascript
浅谈json取值(对象和数组)
2016/06/24 Javascript
Angular.JS中指令ng-if、ng-show/ng-hide和ng-switch的使用教程
2017/05/07 Javascript
关于vue.js发布后路径引用的问题解决
2017/08/15 Javascript
js仿微信抢红包功能
2020/09/25 Javascript
JS实现瀑布流布局
2017/10/21 Javascript
小程序实现搜索框
2020/06/19 Javascript
[01:21]DOTA2周边文化主题展 神秘商店火热开售
2017/07/30 DOTA
python动态加载变量示例分享
2014/02/17 Python
pymongo实现多结果进行多列排序的方法
2015/05/16 Python
如何在sae中设置django,让sae的工作环境跟本地python环境一致
2017/11/21 Python
canvas实现飞机打怪兽射击小游戏的示例代码
2018/07/09 HTML / CSS
深入解析HTML5使用SVG图像时的viewBox属性用法
2015/09/02 HTML / CSS
苹果香港官方商城:Apple香港
2016/09/14 全球购物
EQVVS官网:设计师男装和女装
2018/10/24 全球购物
为什么如下的代码int a=100,b=100;long int c=a * b;不能工作
2013/11/29 面试题
优乐美广告词
2014/03/14 职场文书
报考公务员诚信承诺书
2014/08/29 职场文书
小学生清明节演讲稿
2014/09/05 职场文书
2014年办公室文员工作总结
2014/11/12 职场文书
2014年乡镇民政工作总结
2014/12/02 职场文书
创业计划书之孕婴生活馆
2019/11/11 职场文书
IDEA使用SpringAssistant插件创建SpringCloud项目
2021/06/23 Java/Android
Java 中的 Unsafe 魔法类的作用大全
2021/06/26 Java/Android
Nginx部署vue项目和配置代理的问题解析
2021/08/04 Servers