Javascript基础知识(二)事件


Posted in Javascript onSeptember 29, 2014

Event对象:(event对象是window对象的属性,当事件发生时,同时产生event对象,事件结束,event对象消失)

IE中:window.event;//获取对象

DOM中:argument[0];//获取对象

IE中Event对象常用的属性方法:

1.clientX:事件发生时,鼠标指针在客户区(不包括工具栏,滚动条等)的X坐标;

2.clientY:事件发生时,鼠标指针在客户区(不包括工具栏,滚动条等)的Y坐标;

3.keyCode:对于keyCode事件,指示按下的键的Unicode字符,对于keydown/keyup事件,指示按下的键盘是数字表示器(获得按键的数值);

4.offsetX:鼠标指针相对于引发事件的对象的X坐标;

5.offsetY:鼠标指针相对于引发事件的对象的Y坐标;

6.srcElement:导致事件发生的元素;

DOM中event对象常用的属性方法:

1.clientX;

2.clientY;

3.pageX;鼠标指针相对于页面的X坐标;

4.pageY;鼠标指针相对于页面的Y坐标;

5.StopPropagation:调用该方法可以阻止事件的进一步传播(冒泡);

6.target:触发的事件元素/对象;

7.type:事件的名称;

两种event对象的相同点和不同点

相同点:

1.获取事件类型;

2.获取键盘代码(keydown/keyup事件);

3.检测Shift,Alt,Ctrl;

4.获取客户区坐标;

5.获取屏幕坐标;

不同点:

1.获取目标;

//IE:var oTarget=oEvent.srcElement;

//DOM: var oTarget=oEvent.target;

2.获取字符码;

//IE: var iCharCode=oEvent.keyCode;

//DOM: var iCharCode=oEvent.charCode;

3.阻止事件的默认行为;

//IE: oEvent.returnValue=false;

//DOM: oEvent.preventDefault;

4.终止冒泡:

//IE:oEvent.cancelBubble=true;

//DOM:oEvent.stopPropagation

事件类型:

一.鼠标事件:

onmouseover:当鼠标移入时;

onmouseout:当鼠标移出时;

onmousedown:当按下鼠标时;

onmouseup:当抬起鼠标时;

onclick:点击鼠标左键时;

ondblclick:双击鼠标左键时;

二.键盘事件:

onkeydown:当用户在键盘上按下一个键时发生;

onkeyup:当用户释放一个按下的键时发生;

keypress:当用户一直按着键不放时;

三.HTML事件:

onload:加载页面时;

onunload:卸载页面时;

abort:当用户终止装载进程之前,如果他还没有被完全转载,发生abort事件

error:javascript发生错误时,产生的事件;

select:在一个input或者textarea中,用户选择字符时,触发的select事件

change:在一个input或者textarea中,当它失去焦点,在select中触发change事件

submit:当表单被提交时,触发submit事件;

reset:重置

resize:当窗口或框架尺寸调整时触发的事件;

scroll:当用户滚动或有滚动条时触发的事件;

focus:失去焦点时;

blur:获得焦点时;

Javascript的事件模型

1.Javascript事件模型:1.冒泡类型: <input type="button">当用户点击按钮时:input-body-html-document-window(从下往上冒泡)IE浏览器只是用冒泡

    2.捕获类型: <input type="button">当用户点击按钮时:window-document-html-body-input (从上往下)

经过ECMA标准化后,其他浏览器都支持两种类型,捕获先发生。

2.传统事件书写的三种方式:

1.<input type="button" onclick="alert('helloworld!')">

2.<input type="button onclick=name1()">======<script>function name1(){alert('helloword!');}</script> //有名函数

3.<input type="button" id="input1">  //匿名函数

<script>

 Var button1=document.getElementById("input1");

 button1.onclick=funtion(){

 alert('helloword!')

 }

</script>

3.现代事件书写方式:

<input type="button" id="input1">  //IE中添加事件
<script>

 var fnclick(){

 alert("我被点击了")

 }

 var Oinput=document.getElementById("input1");

 Oinput.attachEvent("onclick",fnclick);

 --------------------------------------

 Oinput.detachEvent("onclick",fnclick);//IE中删除事件

</script>
<input type="button" id="input1">  //DOM中添加事件
<script>

 var fnclick(){

 alert("我被点击了")

 }

 var Oinput=document.getElementById("input1");

 Oinput.addEventListener("onclick",fnclick,true);

 --------------------------------------

 Oinput.removeEventListener("onclick",fnclick);//DOM中删除事件

</script>
<input type="button" id="input1"> //兼容IE和DOM添加事件
<script>

 var fnclick1=function(){alert("我被点击了")}

 var fnclick2=function(){alert("我被点击了")}

 var Oinput=document.getElementById("input1");

 if(document.attachEvent){

 Oinput.attachEvent("onclick",fnclick1)

 Oinput.attachEvent("onclick",fnclick2)

 }

 else(document.addEventListener){

 Oinput.addEventListener("click",fnclick1,true)

 Oinput.addEventListener("click",fnclick2,true)

 }

</script>
Javascript 相关文章推荐
javascript学习笔记(十八) 获得页面中的元素代码
Jun 20 Javascript
javascript控制swfObject应用介绍
Nov 29 Javascript
Javascript学习笔记之 函数篇(三) : 闭包和引用
Nov 23 Javascript
JavaScript中setUTCMilliseconds()方法的使用详解
Jun 12 Javascript
AngularJS基础 ng-non-bindable 指令详细介绍
Aug 02 Javascript
基于chosen插件实现人员选择树搜索自动筛选功能
Sep 24 Javascript
Ajax验证用户名或昵称是否已被注册
Apr 05 Javascript
微信小程序 支付后台java实现实例
May 09 Javascript
JSON对象转化为字符串详解
Aug 11 Javascript
JS基于Location实现访问Url、重定向及刷新页面的方法分析
Dec 03 Javascript
vue使用原生swiper代码实例
Feb 05 Javascript
vue el-upload上传文件的示例代码
Dec 21 Vue.js
Javascript基础知识(一)核心基础语法与事件模型
Sep 29 #Javascript
Javascript表单验证要注意的事项
Sep 29 #Javascript
使用phantomjs进行网页抓取的实现代码
Sep 29 #Javascript
Javascript获取CSS伪元素属性的实现代码
Sep 28 #Javascript
js获取元素相对窗口位置的实现代码
Sep 28 #Javascript
Internet Explorer 11 浏览器介绍:别叫我IE
Sep 28 #Javascript
浏览器缩放检测的js代码
Sep 28 #Javascript
You might like
php地址引用(php地址引用的效率问题)
2012/03/23 PHP
php的array_multisort()使用方法介绍
2012/05/16 PHP
如何获知PHP程序占用多少内存(memory_get_usage)
2012/09/23 PHP
完美解决:Apache启动问题―(OS 10022)提供了一个无效的参数
2013/06/08 PHP
Yii框架登录流程分析
2014/12/03 PHP
PHP递归创建多级目录
2015/11/05 PHP
PHP基于DOM创建xml文档的方法示例
2017/02/08 PHP
PHP关于foreach复制知识点总结
2019/01/28 PHP
使用javascript访问XML数据的实例
2006/12/27 Javascript
javascript encodeURI和encodeURIComponent的比较
2010/04/03 Javascript
jQuery拖拽 &amp; 弹出层 介绍与示例
2013/12/27 Javascript
Node.js中AES加密和其它语言不一致问题解决办法
2014/03/10 Javascript
jQuery中width()方法用法实例
2014/12/24 Javascript
js表单中选择框值的获取及表单的序列化
2015/12/17 Javascript
js放大镜放大购物图片效果
2017/01/18 Javascript
node.JS md5加密中文与php结果不一致的解决方法
2017/05/05 Javascript
Vue自定义指令实现checkbox全选功能的方法
2018/02/28 Javascript
解决vue中使用swiper插件问题及swiper在vue中的用法
2018/04/04 Javascript
Vue中使用vue-i18插件实现多语言切换功能
2018/04/25 Javascript
使用javascript函数编写简单银行取钱存钱流程
2018/05/26 Javascript
如何使用puppet替换文件中的string
2018/12/06 Javascript
JavaScript常用工具方法封装
2019/02/12 Javascript
vue跳转方式(打开新页面)及传参操作示例
2020/01/26 Javascript
vue element和nuxt的使用技巧分享
2021/01/14 Vue.js
[00:58]PWL开团时刻DAY5——十人开雾0换5
2020/11/04 DOTA
使用Python下载歌词并嵌入歌曲文件中的实现代码
2015/11/13 Python
python爬虫之验证码篇3-滑动验证码识别技术
2019/04/11 Python
python自定义时钟类、定时任务类
2021/02/22 Python
CSS3轻松实现圆角效果
2017/11/09 HTML / CSS
Charlotte Tilbury英国官网:英国彩妆品牌
2017/05/26 全球购物
北大研究生linux应用求职信
2013/10/29 职场文书
幼儿园大班开学寄语
2014/08/02 职场文书
股东授权委托书范文
2014/09/13 职场文书
2014年关工委工作总结
2014/11/17 职场文书
2015年端午节国旗下演讲稿
2015/03/19 职场文书
Web前端:CSS最强总结 附详细代码
2021/03/31 HTML / CSS