Javascript基础知识(二)事件

 更新时间:2014年09月29日 09:22:08   投稿:hebedich  
本文是javascript系列文章的第二篇,主要介绍javascript事件,都是本人的一些心得,希望对大家有所帮助

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中substring()方法的使用

    简介JavaScript中substring()方法的使用

    这篇文章主要介绍了简介JavaScript中substring()方法的使用,是JS入门学习中的基础知识,需要的朋友可以参考下
    2015-06-06
  • 使用UglifyJS合并/压缩JavaScript的方法

    使用UglifyJS合并/压缩JavaScript的方法

    在UglifyJS入门中主要记录了UglifyJS的安装,配置。篇末在命令行中使用了一个简单命令来压缩一个JS文件。这篇以编程的方式去压缩JS文件。即写一个build.js文件,使用node命令执行该文件
    2012-03-03
  • js正则相关知识点专题

    js正则相关知识点专题

    本篇内容是小编整理的关于脚本之家精选的JS正则的优秀文章,适合大家学习JS正则的相关内容,有需要的朋友参考下。
    2018-05-05
  • JavaScript数据类型转换

    JavaScript数据类型转换

    本文详细讲解了JavaScript实现数据类型转换的方法,文中通过示例代码介绍的非常详细。对大家的学习或工作具有一定的参考借鉴价值,需要的朋友可以参考下
    2022-03-03
  • JavaScript编程中window的location与history对象详解

    JavaScript编程中window的location与history对象详解

    这篇文章主要介绍了JavaScript编程中window的location与history对象,是JavaScript入门学习中的基础知识,需要的朋友可以参考下
    2015-10-10
  • Javascript核心读书有感之语言核心

    Javascript核心读书有感之语言核心

    本节是javascript语言的一个快速预览,也是本书的第一部分快速预览。有想阅读此书的小伙伴,建议先读下本系列文章。
    2015-02-02
  • javascript内存管理详细解析

    javascript内存管理详细解析

    本文是对javascript中的内存管理进行了详细的分析介绍,需要的朋友可以过来参考下,希望对大家有所帮助
    2013-11-11
  • JavaScript中Boolean对象的属性解析

    JavaScript中Boolean对象的属性解析

    这篇文章主要介绍了JavaScript中布尔对象的属性解析,包括对constructor属性和prototype构造器的简单介绍,需要的朋友可以参考下
    2015-10-10
  • js array数组对象操作方法汇总

    js array数组对象操作方法汇总

    这篇文章主要介绍了js array数组对象操作方法汇总,文中通过示例代码介绍的非常详细,对大家的学习或者工作具有一定的参考学习价值,需要的朋友们下面随着小编来一起学习学习吧
    2019-03-03
  • 深入document.write()与HTML4.01的非成对标签的详解

    深入document.write()与HTML4.01的非成对标签的详解

    本篇文章对document.write()与HTML4.01的非成对标签进行了详细的分析介绍。需要的朋友参考下
    2013-05-05

最新评论