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 相关文章推荐
情人节专属 纯js脚本1k大小的3D玫瑰效果
Feb 11 Javascript
javascript实现的元素拖动函数宿主为浏览器
Jul 21 Javascript
使用AngularJS 应用访问 Android 手机的图片库
Mar 24 Javascript
基于javascript实现的购物商城商品倒计时实例
Dec 11 Javascript
12 款 JS 代码测试必备工具(翻译)
Dec 13 Javascript
JavaScript常用正则函数用法示例
Jan 23 Javascript
vue.js之vue-cli脚手架的搭建详解
May 05 Javascript
three.js中3D视野的缩放实现代码
Nov 16 Javascript
node.js之基础加密算法模块crypto详解
Sep 11 Javascript
vue实现循环滚动列表
Jun 30 Javascript
Js利用正则表达式去除字符串的中括号
Nov 23 Javascript
JavaScript十大取整方法实例教程
Dec 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
解析php扩展php_curl.dll不加载的解决方法
2013/06/26 PHP
PHP CURL使用详解
2019/03/21 PHP
Laravel 创建指定表 migrate的例子
2019/10/09 PHP
Laravel等框架模型关联的可用性浅析
2019/12/15 PHP
增强用户体验友好性之jquery easyui window 窗口关闭时的提示
2012/06/22 Javascript
JS实现控制表格单元格垂直对齐的方法
2015/03/30 Javascript
nodejs导出excel的方法
2015/06/30 NodeJs
react-router实现按需加载
2017/05/09 Javascript
利用node.js爬取指定排名网站的JS引用库详解
2017/07/25 Javascript
Vue上传组件vue Simple Uploader的用法示例
2017/08/25 Javascript
利用jQuery实现简单的拖曳效果实例代码
2017/10/20 jQuery
微信小程序实现获取自己所处位置的经纬度坐标功能示例
2017/11/30 Javascript
vue.js绑定事件监听器示例【基于v-on事件绑定】
2018/07/07 Javascript
js拖动滑块和点击水波纹效果实例代码
2018/10/16 Javascript
nodejs中实现用户注册路由功能
2019/05/20 NodeJs
python算法学习之基数排序实例
2013/12/18 Python
python在命令行下使用google翻译(带语音)
2014/01/16 Python
关于numpy中np.nonzero()函数用法的详解
2017/02/07 Python
使用python实现ANN
2017/12/20 Python
Python logging模块用法示例
2018/08/28 Python
python实现栅栏加解密 支持密钥加密
2019/03/20 Python
PyQt5 实现给窗口设置背景图片的方法
2019/06/13 Python
python3获取url文件大小示例代码
2019/09/18 Python
python filecmp.dircmp实现递归比对两个目录的方法
2020/05/22 Python
利用keras使用神经网络预测销量操作
2020/07/07 Python
python如何利用paramiko执行服务器命令
2020/11/07 Python
CSS3教程(7):CSS3嵌入字体
2009/04/02 HTML / CSS
深入浅出CSS3 background-clip,background-origin和border-image教程
2011/01/27 HTML / CSS
英国森林假期:Forest Holidays
2021/01/01 全球购物
一套C#面试题
2013/10/09 面试题
EntityManager都有哪些方法
2013/11/01 面试题
《千年梦圆在今朝》教学反思
2014/02/24 职场文书
求职信怎么写范文
2014/05/26 职场文书
2014办公室副主任四风对照检查材料思想汇报
2014/09/20 职场文书
主持人开幕词
2015/01/29 职场文书
大学生逃课检讨书
2015/05/04 职场文书