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 相关文章推荐
firefox浏览器下javascript 拖动层效果与原理分析代码
Dec 04 Javascript
JQuery 获取json数据$.getJSON方法的实例代码
Aug 02 Javascript
js的Prototype属性解释及常用方法
May 08 Javascript
Bootstrap下拉菜单效果实例代码分享
Jun 30 Javascript
AngularJS基础 ng-cloak 指令简单示例
Aug 01 Javascript
jQuery简单实现彩色云标签效果示例
Aug 01 Javascript
深入理解Javascript箭头函数中的this
Feb 13 Javascript
微信小程序 仿美团分类菜单 swiper分类菜单
Apr 12 Javascript
JS实现瀑布流布局
Oct 21 Javascript
Bootstrap Table 双击、单击行获取该行及全表内容
Aug 31 Javascript
layui数据表格重载实现往后台传参
Nov 15 Javascript
学习 Vue.js 遇到的那些坑
Feb 02 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中foreach循环中使用引用要注意的地方
2011/01/02 PHP
解析PHP无限级分类方法及代码
2013/06/21 PHP
PHP实现自动识别原编码并对字符串进行编码转换的方法
2016/07/13 PHP
php表单处理操作
2017/11/16 PHP
php-fpm.conf配置文件中文说明详解及重要参数说明
2018/10/10 PHP
javascript 自动转到命名锚记
2009/01/10 Javascript
javascript 支持链式调用的异步调用框架Async.Operation
2009/08/04 Javascript
jQuery操作表格(table)的常用方法、技巧汇总
2014/04/12 Javascript
jQuery实用函数用法总结
2014/08/29 Javascript
基于jquery css3实现点击动画弹出表单源码特效
2015/08/31 Javascript
javascript html5 canvas实现可拖动省份的中国地图
2016/03/11 Javascript
javascript拖拽应用实例(二)
2016/03/25 Javascript
JS生成某个范围的随机数【四种情况详解】
2016/04/20 Javascript
nodejs实例解析(输出hello world)
2017/01/03 NodeJs
原生javascript移动端滑动banner效果
2017/03/10 Javascript
VueJS如何引入css或者less文件的一些坑
2017/04/25 Javascript
NodeJS实现微信公众号关注后自动回复功能
2017/05/31 NodeJs
AngularJS 购物车全选/取消全选功能的实现方法
2017/08/14 Javascript
Node.js 使用AngularJS的方法示例
2018/05/11 Javascript
vue+vuex+json-seiver实现数据展示+分页功能
2019/04/11 Javascript
在vue中对数组值变化的监听与重新响应渲染操作
2020/07/17 Javascript
解决iview table组件里的 固定列 表格不自适应的问题
2020/11/13 Javascript
详解Python中DOM方法的动态性
2015/04/11 Python
Python注释详解
2016/06/01 Python
Python实现的当前时间多加一天、一小时、一分钟操作示例
2018/05/21 Python
异步任务队列Celery在Django中的使用方法
2018/06/07 Python
HTML5新增的标签和属性归纳总结
2018/05/02 HTML / CSS
HTML实现代码雨源码及效果示例
2020/02/25 HTML / CSS
采用冷却技术的超自然舒适度:GhostBed床垫
2018/09/18 全球购物
VisionPros美国站:加拿大在线隐形眼镜和眼镜零售商
2020/02/11 全球购物
情侣吵架检讨书
2014/02/05 职场文书
护士毕业自我鉴定
2014/02/07 职场文书
带香烟到学校抽的检讨书
2014/09/25 职场文书
政协委员个人总结
2015/03/03 职场文书
使用Html+Css实现简易导航栏功能(导航栏遇到鼠标切换背景颜色)
2021/04/07 HTML / CSS
MySQL窗口函数的具体使用
2021/11/17 MySQL