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 hasFocus使用实例
Jun 29 Javascript
JQuery触发radio或checkbox的change事件
Dec 18 Javascript
jquery实现简单的拖拽效果实例兼容所有主流浏览器(优化篇)
Jun 28 Javascript
JavaScript两种跨域技术全面介绍
Apr 16 Javascript
三种检测iPhone/iPad设备方向的方法
Apr 23 Javascript
IE7浏览器窗口大小改变事件执行多次bug及IE6/IE7/IE8下resize问题
Aug 21 Javascript
javascript每日必学之继承
Feb 23 Javascript
js不间断滚动的简单实现
Jun 03 Javascript
jq checkbox 的全选并ajax传参的实例
Apr 01 Javascript
vue调试工具vue-devtools安装及使用方法
Nov 07 Javascript
原生JS实现烟花效果
Mar 10 Javascript
5个你不知道的JavaScript字符串处理库(小结)
Jun 01 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
利用switch语句进行多选一判断的实例代码
2016/11/14 PHP
微信公众号实现扫码获取微信用户信息(网页授权)
2019/04/09 PHP
PHP中常用的三种设计模式详解【单例模式、工厂模式、观察者模式】
2019/06/14 PHP
编写Js代码要注意的几条规则
2010/09/10 Javascript
JavaScript中几种常见排序算法小结
2011/02/22 Javascript
基于jquery实现点击左右按钮图片横向滚动
2013/04/11 Javascript
Script标签与访问HTML页面详解
2014/01/10 Javascript
详解 javascript中offsetleft属性的用法
2015/11/11 Javascript
jQuery实现jQuery-form.js实现异步上传文件
2017/04/28 jQuery
jQuery实现选中行变色效果(实例讲解)
2017/07/06 jQuery
Node.js学习之地址解析模块URL的使用详解
2017/09/28 Javascript
vue中选项卡点击切换且能滑动切换功能的实现代码
2018/11/25 Javascript
JS数组中对象去重操作示例
2019/06/04 Javascript
Jquery异步上传文件代码实例
2019/11/13 jQuery
JavaScript计算正方形面积
2019/11/26 Javascript
JS实现烟花爆炸效果
2020/03/10 Javascript
基于JS实现table导出Excel并保留样式
2020/05/19 Javascript
深入理解Python中字典的键的使用
2015/08/19 Python
Django如何实现内容缓存示例详解
2017/09/24 Python
python实现读取excel写入mysql的小工具详解
2017/11/20 Python
Pycharm 创建 Django admin 用户名和密码的实例
2018/05/30 Python
python爬虫之urllib库常用方法用法总结大全
2018/11/14 Python
Python+OpenCV 实现图片无损旋转90°且无黑边
2019/12/12 Python
基于pytorch padding=SAME的解决方式
2020/02/18 Python
python数据库开发之MongoDB安装及Python3操作MongoDB数据库详细方法与实例
2020/03/18 Python
python使用建议与技巧分享(二)
2020/08/17 Python
MCM英国官网:奢侈皮具制品
2017/04/18 全球购物
旅游与酒店管理的自我评价分享
2013/11/03 职场文书
迟到检讨书900字
2014/01/14 职场文书
手机银行营销方案
2014/03/14 职场文书
十周年庆典策划方案
2014/06/03 职场文书
2014年药品销售工作总结
2014/12/16 职场文书
司机岗位职责范本
2015/04/10 职场文书
田径运动会广播稿
2015/08/19 职场文书
《吃水不忘挖井人》教学反思
2016/02/22 职场文书
python中对列表的删除和添加方法详解
2022/02/24 Python