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之文件操作
Mar 07 Javascript
jquery 入门教程 [翻译] 推荐
Aug 17 Javascript
JavaScript类继承及实例化的方法
Jul 25 Javascript
基于jQuery Bar Indicator 插件实现进度条展示效果
Sep 30 Javascript
很棒的一组js图片轮播特效
Jan 12 Javascript
vue-cli webpack 开发环境跨域详解
May 18 Javascript
webpack 2的react开发配置实例代码
Jul 28 Javascript
vue动态路由实现多级嵌套面包屑的思路与方法
Aug 16 Javascript
用POSTMAN发送JSON格式的POST请求示例
Sep 04 Javascript
使用Vue实现移动端左滑删除效果附源码
May 16 Javascript
jQuery实现文本显示一段时间后隐藏的方法分析
Jun 20 jQuery
详解JavaScript中精度失准问题及解决方法
Feb 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
DC《小丑》11项提名领跑奥斯卡 Netflix成第92届奥斯卡提名最大赢家
2020/04/09 欧美动漫
PHP采集相关教程之一 CURL函数库
2010/02/15 PHP
既简单又安全的PHP验证码 附调用方法
2016/06/02 PHP
浅谈php使用curl模拟多线程发送请求
2019/03/08 PHP
解决Laravel5.x的php artisan migrate数据库迁移创建操作报错SQLSTATE[42000]
2020/04/06 PHP
JavaScript DOM学习第四章 getElementByTagNames
2010/02/19 Javascript
node.js chat程序如何实现Ajax long-polling长链接刷新模式
2012/03/13 Javascript
jquery插件如何使用 jQuery操作Cookie插件使用介绍
2012/12/15 Javascript
理解javascript中的回调函数(callback)
2014/09/02 Javascript
2014年50个程序员最适用的免费JQuery插件
2014/12/15 Javascript
JavaScript常用的弹出广告及背投广告实现方法
2015/02/06 Javascript
js立即执行函数: (function ( ){})( ) 与 (function ( ){}( )) 有什么区别?
2015/11/18 Javascript
防止Node.js中错误导致进程阻塞的办法
2016/08/11 Javascript
Bootstrap中点击按钮后变灰并显示加载中实例代码
2016/09/23 Javascript
React Native之ListView实现九宫格效果的示例
2017/08/02 Javascript
JS动态修改网页body的背景色实例代码
2017/10/07 Javascript
浅析Angular19 自定义表单控件
2018/01/31 Javascript
vue 不使用select实现下拉框功能(推荐)
2018/05/17 Javascript
node中间层实现文件上传功能
2018/06/11 Javascript
Python实现的监测服务器硬盘使用率脚本分享
2014/11/07 Python
在Python中使用Mako模版库的简单教程
2015/04/08 Python
Python实现合并字典的方法
2015/07/07 Python
python中range()与xrange()用法分析
2016/09/21 Python
详解MySQL数据类型int(M)中M的含义
2016/11/20 Python
Python编程pygame模块实现移动的小车示例代码
2018/01/03 Python
使用Django启动命令行及执行脚本的方法
2018/05/29 Python
python生成九宫格图片
2018/11/19 Python
pyenv虚拟环境管理python多版本和软件库的方法
2019/12/26 Python
Python代码一键转Jar包及Java调用Python新姿势
2020/03/10 Python
Selenium环境变量配置(火狐浏览器)及验证实现
2020/12/07 Python
如何判断一段程序是由C 编译程序还是由C++编译程序编译的
2013/08/04 面试题
金融行业务员的自我评价
2013/12/13 职场文书
生产部管理制度
2014/01/31 职场文书
领导干部学习“三严三实”思想汇报
2014/09/15 职场文书
募捐感谢信
2015/01/22 职场文书
公司租车协议书
2015/01/29 职场文书