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 相关文章推荐
xml分页+ajax请求数据源+dom取结果实例代码
Oct 31 Javascript
IE event.srcElement和FF event.target 功能比较
Mar 01 Javascript
JQuery通过Ajax提交表单并返回结果
Jul 31 Javascript
jquery实现点击TreeView文本父节点展开/折叠子节点
Jan 10 Javascript
JavaScript将取代AppleScript?
Sep 18 Javascript
jquery+CSS实现的多级竖向展开树形TRee菜单效果
Aug 24 Javascript
jQuery form 表单验证插件(fieldValue)校验表单
Jan 24 Javascript
angular使用post、get向后台传参的问题实例
May 27 Javascript
node.js的exports、module.exports与ES6的export、export default深入详解
Oct 26 Javascript
TypeScript基础入门教程之三重斜线指令详解
Oct 22 Javascript
element-ui table span-method(行合并)的实现代码
Dec 20 Javascript
详解微信小程序工程化探索之webpack实战
Apr 20 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
《心理测量者3》剧场版动画预告
2020/03/02 日漫
深入了解php4(2)--重访过去
2006/10/09 PHP
PHP 基于Yii框架中使用smarty模板的方法详解
2013/06/13 PHP
php操作access数据库的方法详解
2017/02/22 PHP
php的扩展写法总结
2019/05/14 PHP
tp5(thinkPHP5框架)时间查询操作实例分析
2019/05/29 PHP
javascript 密码强弱度检测万能插件
2009/02/25 Javascript
Ubuntu 11.10 安装Node.js的方法
2011/11/30 Javascript
javascript使用isNaN()函数判断变量是否为数字
2013/09/21 Javascript
JS判断字符串长度的5个方法(区分中文和英文)
2014/03/18 Javascript
bootstrap改变按钮加载状态
2014/12/01 Javascript
基于豆瓣API+Angular开发的web App
2015/01/02 Javascript
详解基于Bootstrap扁平化的后台框架Ace
2015/11/27 Javascript
JS如何判断是否为ie浏览器的方法(包括IE10、IE11在内)
2015/12/13 Javascript
JavaScript添加随滚动条滚动窗体的方法
2016/02/23 Javascript
如何在 Vue.js 中使用第三方js库
2017/04/25 Javascript
浅谈高大上的微信小程序中渲染html内容—技术分享
2018/10/25 Javascript
在vscode 中设置 vue模板内容的方法
2020/09/02 Javascript
jQuery实现可以扩展的日历
2020/12/01 jQuery
[05:49]2014DOTA2TI4正赛第二日综述 昔日冠军纷纷落马 VG LGD占尽先机
2014/07/20 DOTA
利用Python实现网络测试的脚本分享
2017/05/26 Python
python编写分类决策树的代码
2017/12/21 Python
Python 3.6 中使用pdfminer解析pdf文件的实现
2019/09/25 Python
python GUI库图形界面开发之PyQt5信号与槽的高级使用技巧(自定义信号与槽)详解与实例
2020/03/06 Python
Django模板标签中url使用详解(url跳转到指定页面)
2020/03/19 Python
Python计算矩阵的和积的实例详解
2020/09/10 Python
莫斯科绝对前卫最秘密的商店:SVMoscow
2017/10/23 全球购物
伦敦一家西班牙童装精品店:La Coqueta
2018/02/02 全球购物
Luxplus丹麦:香水和个人护理折扣
2018/04/23 全球购物
澳大利亚先进的皮肤和激光诊所购物网站:Soho Skincare
2018/10/15 全球购物
大学生2014全国两会学习心得体会
2014/03/10 职场文书
如何写自我鉴定
2014/03/19 职场文书
三好学生演讲稿范文
2014/04/26 职场文书
个人年底工作总结
2015/03/10 职场文书
会计主管竞聘书
2015/09/15 职场文书
2016大学迎新晚会开场白
2015/11/24 职场文书