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 相关文章推荐
Gird组件 Part-3:范例RSSFeed Viewer
Mar 10 Javascript
JQuery 学习笔记01 JQuery初接触
May 06 Javascript
关于JQuery($.load)事件的用法和分析
Apr 09 Javascript
JavaScript?Apple设备检测示例代码
Nov 15 Javascript
一个简单的动态加载js和css的jquery代码
Sep 01 Javascript
2014最热门的JavaScript代码高亮插件推荐
Nov 25 Javascript
JQuery查找DOM节点的方法
Jun 11 Javascript
详谈$.data()的用法和作用
Feb 13 Javascript
详解Angular2学习笔记之Html属性绑定
Jan 03 Javascript
JavaScript常见事件对象与操作实例总结
Jan 05 Javascript
JS常见面试试题总结【去重、遍历、闭包、继承等】
Aug 27 Javascript
解决在Vue中使用axios POST请求变成OPTIONS的问题
Aug 14 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
怎么使 Mysql 数据同步
2006/10/09 PHP
PHP file_get_contents设置超时处理方法
2013/09/30 PHP
ThinkPHP中pathinfo的访问模式、路径访问模式及URL重写总结
2014/08/23 PHP
如何解决phpmyadmin导入数据库文件最大限制2048KB
2015/10/09 PHP
php实现连接access数据库并转txt写入的方法
2017/02/08 PHP
PHP配置ZendOpcache插件加速
2019/02/14 PHP
JavaScript方法和技巧大全
2006/12/27 Javascript
Javascript技术技巧大全(五)
2007/01/22 Javascript
javascript eval和JSON之间的联系
2009/12/31 Javascript
jquery select(列表)的操作(取值/赋值)
2011/03/16 Javascript
jQuery去掉字符串起始和结尾的空格(多种方法实现)
2013/04/01 Javascript
JQuery打造省市下拉框联动效果
2014/05/18 Javascript
谈一谈js中的执行环境及作用域
2016/03/30 Javascript
全面解析Bootstrap中scrollspy(滚动监听)的使用方法
2016/06/06 Javascript
微信小程序 canvas API详解及实例代码
2016/10/08 Javascript
JS中关于事件处理函数名后面是否带括号的问题
2016/11/16 Javascript
JS求解三元一次方程组值的方法
2017/01/03 Javascript
jQuery实现鼠标经过显示动画边框特效
2017/03/24 jQuery
JavaScript中的return布尔值的用法和原理解析
2017/08/14 Javascript
EasyUI的DataGrid绑定Json数据源的示例代码
2017/12/16 Javascript
解决vue-quill-editor上传内容由于图片是base64的导致字符太长的问题
2018/08/20 Javascript
node.js基础知识汇总
2020/08/25 Javascript
小程序组件传值和引入sass的方法(使用vant Weapp组件库)
2020/11/24 Javascript
[06:44]2014DOTA2国际邀请赛-钥匙体育馆开战 开幕式振奋人心
2014/07/19 DOTA
Python基于PycURL实现POST的方法
2015/07/25 Python
Django 实现下载文件功能的示例
2018/03/06 Python
windows10下python3.5 pip3安装图文教程
2018/04/02 Python
Linux CentOS Python开发环境搭建教程
2018/11/28 Python
Python如何实现强制数据类型转换
2019/11/22 Python
利用纯CSS3实现tab选项卡切换示例代码
2016/09/21 HTML / CSS
html5 canvas简单封装一个echarts实现不了的饼图
2018/06/12 HTML / CSS
J2EE中常用的名词进行解释
2015/11/09 面试题
搞笑婚前保证书
2015/02/28 职场文书
小学生节水倡议书
2015/04/29 职场文书
教师节简报
2015/07/20 职场文书
收音机爱好者玩机13年,简评其使用过的19台收音机
2022/04/30 无线电