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 相关文章推荐
onpropertypchange
Jul 01 Javascript
JavaScript字符串插入、删除、替换函数使用示例
Jul 25 Javascript
JS中的异常处理方法分享
Dec 22 Javascript
node.js学习总结之调式代码的方法
Jun 25 Javascript
JavaScript中的object转换函数toString()与valueOf()介绍
Dec 31 Javascript
jQuery中hover与mouseover和mouseout的区别分析
Dec 24 Javascript
基于JS实现数字+字母+中文的混合排序方法
Jun 06 Javascript
AngularJS 入门教程之HTML DOM实例详解
Jul 28 Javascript
js控制li的隐藏和显示实例代码
Oct 15 Javascript
js自定义Tab选项卡效果
Jun 05 Javascript
微信小程序学习笔记之登录API与获取用户信息操作图文详解
Mar 29 Javascript
vue 监听 Treeselect 选择项的改变操作
Aug 31 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
Laravel实现搜索的时候分页并携带参数
2019/10/15 PHP
js动态调用css属性的小规律及实例说明
2013/12/28 Javascript
理解JavaScript中worker事件api
2015/12/25 Javascript
JS判断图片是否加载完成方法汇总(最新版)
2016/05/13 Javascript
浅谈Jquery中Ajax异步请求中的async参数的作用
2016/06/06 Javascript
通过JS和PHP两种方法判断用户请求时使用的浏览器类型
2016/09/01 Javascript
html5+CSS 实现禁止IOS长按复制粘贴功能
2016/12/28 Javascript
老生常谈jquery中detach()和remove()的区别
2017/03/02 Javascript
在bootstrap中实现轮播图实例代码
2017/06/11 Javascript
jQuery插件artDialog.js使用与关闭方法示例
2017/10/09 jQuery
微信小程序实现页面跳转传值以及获取值的方法分析
2017/12/18 Javascript
从setTimeout看js函数执行过程
2017/12/19 Javascript
详解Ant Design of React的安装和使用方法
2018/12/27 Javascript
微信小程序如何修改本地缓存key中单个数据的详解
2019/04/26 Javascript
vue 实现Web端的定位功能 获取经纬度
2019/08/08 Javascript
Vue中computed及watch区别实例解析
2020/08/01 Javascript
Python中使用PyHook监听鼠标和键盘事件实例
2014/07/18 Python
Python合并多个装饰器小技巧
2015/04/28 Python
使用Python的Twisted框架构建非阻塞下载程序的实例教程
2016/05/25 Python
Python文本相似性计算之编辑距离详解
2016/11/28 Python
Python编程实现两个文件夹里文件的对比功能示例【包含内容的对比】
2017/06/20 Python
Python+selenium实现截图图片并保存截取的图片
2018/01/05 Python
Python的iOS自动化打包实例代码
2018/11/22 Python
PyQt+socket实现远程操作服务器的方法示例
2019/08/22 Python
浅谈Python 递归算法指归
2019/08/22 Python
python和pywin32实现窗口查找、遍历和点击的示例代码
2020/04/01 Python
华丽的手绘陶瓷:MacKenzie-Childs
2017/02/04 全球购物
泰国的头号网上婴儿用品店:Motherhood.co.th
2019/04/09 全球购物
印尼购物网站:iLOTTE
2019/10/16 全球购物
opencv实现图像平移效果
2021/03/24 Python
行政部总经理岗位职责
2014/01/04 职场文书
青年文明号创建承诺
2014/03/31 职场文书
幼儿教师暑期培训方案
2014/08/27 职场文书
学校开学标语
2014/10/06 职场文书
MySQL数据库如何使用Shell进行连接
2022/04/12 MySQL
python中使用redis用法详解
2022/12/24 Redis