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 相关文章推荐
js获取元素相对窗口位置的实现代码
Sep 28 Javascript
node.js中实现同步操作的3种实现方法
Dec 05 Javascript
使用Web Uploader实现多文件上传
Jun 08 Javascript
jQuery中 $ 符号的冲突问题及解决方案
Nov 04 Javascript
BootStrap中关于Select下拉框选择触发事件及扩展
Nov 22 Javascript
Jquery给当前页或者跳转后页面的导航栏添加选中后样式的实例
Dec 08 Javascript
JavaScript正则表达式小结(test|match|search|replace|split|exec)
Dec 08 Javascript
javascript连接mysql与php通过odbc连接任意数据库的实例
Dec 27 Javascript
vue实现滑动切换效果(仅在手机模式下可用)
Jun 29 Javascript
深入探索VueJS Scoped CSS 实现原理
Sep 23 Javascript
基于JavaScript实现简单抽奖功能代码实例
Oct 20 Javascript
解决await在forEach中不起作用的问题
Feb 25 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
PHP学习之正则表达式
2011/04/17 PHP
php的hash算法介绍
2014/02/13 PHP
JQuery操作tr和td内容的方法实例
2013/03/06 Javascript
js实现文本框中焦点在最后位置
2014/03/04 Javascript
JS调用页面表格导出excel示例代码
2014/03/18 Javascript
javascript面向对象快速入门实例
2015/01/13 Javascript
js实现顶部可折叠的菜单工具栏效果实例
2015/05/09 Javascript
javascript实现的登陆遮罩效果汇总
2015/11/09 Javascript
BootStrap点击下拉菜单项后显示一个新的输入框实现代码
2016/05/16 Javascript
js 弹出对话框(遮罩)透明,可拖动的简单实例
2016/07/11 Javascript
jQuery Validate 校验多个相同name的方法
2017/05/18 jQuery
详解Angular2中Input和Output用法及示例
2017/05/21 Javascript
基于脚手架创建Vue项目实现步骤详解
2020/08/03 Javascript
JS相册图片抖动放大展示效果的示例代码
2021/01/29 Javascript
Python中的Numpy入门教程
2014/04/26 Python
Python中用函数作为返回值和实现闭包的教程
2015/04/27 Python
opencv 获取rtsp流媒体视频的实现方法
2019/08/23 Python
Python+OpenCV实现将图像转换为二进制格式
2020/01/09 Python
Python3基本输入与输出操作实例分析
2020/02/14 Python
python mysql 字段与关键字冲突的解决方式
2020/03/02 Python
Python小整数对象池和字符串intern实例解析
2020/03/21 Python
Python matplotlib可视化实例解析
2020/06/01 Python
如何学习Python time模块
2020/06/03 Python
Python 通过正则表达式快速获取电影的下载地址
2020/08/17 Python
美国办公用品购物网站:Quill.com
2016/09/01 全球购物
美国尼曼百货官网:Neiman Marcus
2019/09/05 全球购物
加拿大专业美发产品购物网站:Chatters
2021/02/28 全球购物
华为菲律宾官方网站:HUAWEI Philippines
2021/02/23 全球购物
学习全国两会精神心得体会范文
2014/03/17 职场文书
平安家庭示范户事迹
2014/06/02 职场文书
班级课外活动总结
2014/07/09 职场文书
音乐教师个人总结
2015/02/06 职场文书
会计简历自我评价
2015/03/10 职场文书
文明医院的标语集锦!
2019/07/24 职场文书
SQL之各种join小结详细讲解
2021/08/04 MySQL
React如何使用axios请求数据并把数据渲染到组件
2022/08/05 Javascript