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 相关文章推荐
extjs关于treePanel+chekBox全部选中以及清空选中问题探讨
Apr 02 Javascript
jquery选择器、属性设置用法经验总结
Sep 08 Javascript
JavaScript中输出标签的方法
Aug 27 Javascript
jQuery中ajax错误调试分析
Dec 01 Javascript
如何获取元素的最终background-color
Feb 06 Javascript
js实现1,2,3,5数字按照概率生成
Sep 12 Javascript
AngularJS实现自定义指令及指令配置项的方法
Nov 20 Javascript
Bootstrap 3多级下拉菜单实例
Nov 23 Javascript
javascript获取元素的计算样式
May 24 Javascript
vue实现绑定事件的方法实例代码详解
Jun 20 Javascript
vue实现计算器功能
Feb 22 Javascript
JavaScript实现手风琴效果
Feb 18 Javascript
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
电脑硬件及电脑配置知识大全
2020/03/17 数码科技
如何获得PHP相关资料
2006/10/09 PHP
PHP 彩色文字实现代码
2009/06/29 PHP
PHP 危险函数全解析
2009/09/09 PHP
PHP 进程锁定问题分析研究
2009/11/24 PHP
PHP mail()函数使用及配置方法
2014/01/14 PHP
php实现微信支付之现金红包
2018/05/30 PHP
Laravel框架使用monolog_mysql实现将系统日志信息保存到mysql数据库的方法
2018/08/16 PHP
PHP pthreads v3下worker和pool的使用方法示例
2020/02/21 PHP
js 幻灯片的实现
2011/12/06 Javascript
Firefox/Chrome/Safari的中可直接使用$/$$函数进行调试
2012/02/13 Javascript
js 去除字符串第一位逗号的方法
2014/06/07 Javascript
js函数内变量的作用域分析
2015/01/12 Javascript
jQuery插件EasyUI校验规则 validatebox验证框
2015/11/29 Javascript
JavaScript创建对象的方式小结(4种方式)
2015/12/17 Javascript
Bootstrap基本组件学习笔记之input输入框组(9)
2016/12/07 Javascript
Javascript 严格模式use strict详解
2017/09/16 Javascript
详解keep-alive + vuex 让缓存的页面灵活起来
2019/04/19 Javascript
ZK中使用JS读取客户端txt文件内容问题
2019/11/07 Javascript
python正则分组的应用
2013/11/10 Python
Python写的Tkinter程序屏幕居中方法
2015/03/10 Python
python占位符输入方式实例
2019/05/27 Python
pyqt5 comboBox获得下标、文本和事件选中函数的方法
2019/06/14 Python
Python实现微信小程序支付功能
2019/07/25 Python
python PIL/cv2/base64相互转换实例
2020/01/09 Python
Python实现图像的垂直投影示例
2020/01/17 Python
HTML5 画布canvas使用方法
2016/03/18 HTML / CSS
以工厂直接定价的传奇性能:Ben Hogan Golf
2019/01/04 全球购物
大学系主任推荐信范文
2013/12/24 职场文书
企业文化理念标语
2014/06/10 职场文书
环境保护建议书
2014/08/26 职场文书
执法作风整顿剖析材料
2014/10/11 职场文书
贪污检举信范文
2015/03/02 职场文书
2019新员工试用期转正工作总结范文
2019/08/21 职场文书
CSS完成视差滚动效果
2021/04/27 HTML / CSS
JavaWeb 入门:Hello Servlet
2021/07/16 Java/Android