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 相关文章推荐
jQuery 可以拖动的div实现代码 脚本之家修正版
Jun 26 Javascript
用Javascript数组处理多个字符串的连接问题
Aug 20 Javascript
jQuery语法高亮插件支持各种程序源代码语法着色加亮
Apr 27 Javascript
JS随机生成不重复数据的实例方法
Jul 17 Javascript
js离开或刷新页面检测(且兼容FF,IE,Chrome)
Mar 05 Javascript
jQuery实现视频作为全屏幕背景
Dec 18 Javascript
jQuery Easyui DataGrid点击某个单元格即进入编辑状态焦点移开后保存数据
Aug 15 Javascript
基于JavaScript实现熔岩灯效果导航菜单
Jan 04 Javascript
Vuejs入门教程之Vue生命周期,数据,手动挂载,指令,过滤器
Apr 19 Javascript
浅谈Node.js ORM框架Sequlize之表间关系
Jul 24 Javascript
Vue表单控件绑定图文详解
Feb 11 Javascript
JS使用数组实现的队列功能示例
Mar 04 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
cookie丢失问题(认证失效) Authentication (用户验证信息)也会丢失
2009/06/04 Javascript
发布一个基于javascript的动画类 Fx.js
2010/11/05 Javascript
javascript学习笔记(一) 在html中使用javascript
2012/06/18 Javascript
Javascript图像处理—为矩阵添加常用方法
2012/12/27 Javascript
jQuery.event兼容各浏览器的event详细解析
2013/12/18 Javascript
jQuery选择器简明总结(含用法实例,一目了然)
2014/04/25 Javascript
使用不同的方法结合/合并两个JS数组
2014/09/18 Javascript
jQuery DateTimePicker 日期和时间插件示例
2017/01/22 Javascript
jQuery 实现图片的依次加载图片功能
2017/07/06 jQuery
jQuery EasyUI Layout实现tabs标签的实例
2017/09/26 jQuery
通过函数作用域和块级作用域看javascript的作用域链
2018/08/05 Javascript
jQuery实现轮播图及其原理详解
2020/04/12 jQuery
vue-video-player 通过自定义按钮组件实现全屏切换效果【推荐】
2018/08/29 Javascript
对Layer UI 模块化的用法详解
2019/09/26 Javascript
在Vue项目中,防止页面被缩放和放大示例
2019/10/28 Javascript
[01:35]辉夜杯战队访谈宣传片—iG.V
2015/12/25 DOTA
使用Python编写类UNIX系统的命令行工具的教程
2015/04/15 Python
Python中的推导式使用详解
2015/06/03 Python
Python算术运算符实例详解
2017/05/31 Python
python利用urllib和urllib2访问http的GET/POST详解
2017/09/27 Python
flask框架使用orm连接数据库的方法示例
2018/07/16 Python
Python中面向对象你应该知道的一下知识
2019/07/10 Python
Django 自定义权限管理系统详解(通过中间件认证)
2020/03/11 Python
Django权限设置及验证方式
2020/05/13 Python
简单几步用纯CSS3实现3D翻转效果
2019/01/17 HTML / CSS
Nike俄罗斯官方网站:Nike RU
2021/03/05 全球购物
怎样创建、运行java程序
2014/08/01 面试题
Can a struct inherit from another class? (结构体能继承类吗)
2014/07/22 面试题
母亲追悼会答谢词
2014/01/27 职场文书
电大会计学自我鉴定
2014/02/06 职场文书
先进集体获奖感言
2014/02/13 职场文书
建筑节能汇报材料
2014/08/22 职场文书
学习党的群众路线教育实践活动剖析材料
2014/10/13 职场文书
关于学习的决心书
2015/02/05 职场文书
pytorch常用数据类型所占字节数对照表一览
2021/05/17 Python
详解Java实现设计模式之责任链模式
2021/06/23 Java/Android