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获取一组checkbox的值(实例代码)
Nov 04 Javascript
js给onclick赋值传参数的两种方法
Nov 25 Javascript
Jquery实现Div上下移动示例
Apr 23 Javascript
Javascript访问器属性实例分析
Dec 30 Javascript
js实现超酷的照片墙展示效果图附源码下载
Oct 08 Javascript
JavaScript驾驭网页-获取网页元素
Mar 24 Javascript
谈一谈js中的执行环境及作用域
Mar 30 Javascript
BootStrap的alert提示框的关闭后再显示怎么解决
May 17 Javascript
JavaScript自定义文本框光标
Mar 05 Javascript
JS实现的文件拖拽上传功能示例
May 21 Javascript
JavaScript数据结构与算法之基本排序算法定义与效率比较【冒泡、选择、插入排序】
Feb 21 Javascript
手把手教你从零开始react+antd搭建项目
Jun 03 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
ThinkPHP利用PHPMailer实现邮件发送实现代码
2013/09/26 PHP
PHP回溯法解决0-1背包问题实例分析
2015/03/23 PHP
centos+php+coreseek+sphinx+mysql之一coreseek安装篇
2016/10/25 PHP
thinkphp jquery实现图片上传和预览效果
2020/07/22 PHP
用js实现判断当前网址的来路如果不是指定的来路就跳转到指定页面
2011/05/02 Javascript
jQuery1.6 正式版发布并提供下载
2011/05/05 Javascript
js获得指定控件输入光标的坐标兼容IE,Chrome,火狐等多种主流浏览器
2013/05/21 Javascript
jQuery前端分页示例分享
2015/02/10 Javascript
javascript字符串与数组转换汇总
2015/05/26 Javascript
深入解读JavaScript中的Hoisting机制
2015/08/12 Javascript
JavaScript中日期函数的相关操作知识
2016/08/03 Javascript
jquery的父、子、兄弟节点查找,节点的子节点循环方法
2016/12/07 Javascript
利用n 升级工具升级Node.js版本及在mac环境下的坑
2017/02/15 Javascript
socket.io学习教程之深入学习篇(三)
2017/04/29 Javascript
详解Vue.js项目API、Router配置拆分实践
2018/03/16 Javascript
基于js中的存储键值对以及注意事项介绍
2018/03/30 Javascript
React精髓!一篇全概括小结(急速)
2019/05/23 Javascript
Vue中jsx不完全应用指南小结
2019/11/01 Javascript
整理 node-sass 安装失败的原因及解决办法(小结)
2020/02/19 Javascript
js实现小球在页面规定的区域运动
2020/06/16 Javascript
解决elementui表格操作列自适应列宽
2020/12/28 Javascript
[53:52]EG vs VGJ.T 2018国际邀请赛小组赛BO2 第一场 8.16
2018/08/17 DOTA
[01:05:59]Mineski vs Secret 2019国际邀请赛淘汰赛 败者组 BO3 第二场 8.22
2019/09/05 DOTA
Python StringIO模块实现在内存缓冲区中读写数据
2015/04/08 Python
老生常谈Python进阶之装饰器
2017/05/11 Python
Python中staticmethod和classmethod的作用与区别
2018/10/11 Python
Python读写文件模式和文件对象方法实例详解
2019/09/17 Python
在pytorch中对非叶节点的变量计算梯度实例
2020/01/10 Python
屈臣氏马来西亚官网:Watsons马来西亚
2019/06/15 全球购物
俄罗斯鲜花递送:AMF
2020/04/24 全球购物
优秀学生干部个人的自我评价
2013/10/04 职场文书
高中军训感想800字
2014/02/23 职场文书
工商企业管理专业自荐信范文
2014/04/12 职场文书
jQuery ajax - getScript() 方法和getJSON方法
2021/05/14 jQuery
Python可视化学习之matplotlib内置单颜色
2022/02/24 Python
CentOS7环境下MySQL8常用命令小结
2022/06/10 Servers