javacript中的事件

      javacript中的事件

 【js中的事件分类】  

  1、鼠标事件;

  click            用户点击对象时

  dbclick          用户双击对象时

  mouseover        鼠标按钮被按下时

  mouseout          鼠标按钮移动时  

  mousemove         鼠标被移动时

  mousedown         鼠标移动到某个元素上

  moueseup          鼠标按键松开后

  

2、键盘事件:

keydown:键盘按下去触发

keypress:键盘按下并松开的瞬间触发

keyup: 键盘抬起时触发

 【注意事项;(了解)】

① 执行顺序:keydown-keypress-keyup

② 长按时,会循环不断的执行keydown-keypress

③ 有keydown事件,不一定有keyup事件(事件触发过程中,如果鼠标移走,可能就没有keyup事件。)

④ keypress只能捕获字母、数字、符号键,不能捕获功能键;keydown/keyup基本可以捕获所有功能键(特殊除外)

⑤ keypress区分大小写,keydown和keyup不区分;

⑥ keydown/keyup区分主键盘和小键盘,keypress不区分。

【确定键盘触发按键】

e就是IE8 以前的写法 event(事件)

① 在触发函数中,传入参数e,代表按键时间;

② 通过e.keyCode , 确认按键Ascii码值,进而确定按键;

③ 所有浏览器系统的写法(一般不必要):

var evn = e||event ;//取到键盘事件

var code = evn.keyCode||evn.which||evn.charCode;//取到按键编

【js的DOM事件模型】

1、内联模型:直接将函数名作为HTML标签的某个时间和苏醒的属性值;

rg:<button onclick="func()">按钮</button>

缺点:weifan W3C 关于HTML与javaScript分离的基础原则;

2、脚本模型:在JS脚本中通过事件属性进行绑定;

eg:window.onload = function(){}

局限性:同一节点,只能保定一个同类型事件;

 【JS中的DOM2事件模型】

1、添加事件绑定:

IE10之前: btn1.attachEvent("onclick",函数)

其他浏览器:butn1.addEventListener("click",函数,true/false);

参数三:false(默认),表示事件冒泡,true,表示时间捕获

兼容写法: if(btn1.attachEvent){

btn1.attachEvent();

}else{

butn1.addEventListener();

}

优点:同一节点,可以添加对个同类型事件的监听器;

2.取消事件绑定:

注:如果要去事件绑定,那么在绑定事件时,回调函数,必须使用有名函数,而不能使用匿名函数。因为在取消事件绑定时,需要传入函数名。

.removeEventListener("click",函数名);

.detachEvent("onclick",函数名);

【js中的事件流】

1、事件冒泡:当某DOM元素触发某时间是,会从当前DOM元素开始,诸葛触发其祖先元素的同类型事件,直到DOM根节点:

DOM模型,均为事件冒泡;

IE中使用.attachEvent()添加的时间,均为冒泡;

其他浏览器, .addEvrentListener添加的事件,当第三个参数是false时,为冒泡;

2、事件捕获:当某DOM元素触发某事件时,会从DOM根节点开始,逐个触发其祖先元素的同类型时间,直到触发哀悼当前元素位置,

只有使用addEvrentListener添加事件,并设置第三个参数为True时,才进行捕获;

↓  当前元素    ↑

↓       ↑

冒 父元素      捕

↓       ↑

泡 爷爷元素   获

↓           ↑

DOM根节点

   3、阻断事件冒泡:

IE浏览器中:将e.cancelBubble属性设为true;

其他浏览器:调用e.stopPropagation();方法

兼容写法:function myParagraphEventHandler(e) {

e = e || window.event;

if (e.stopPropagation) {

e.stopPropagation(); //IE以外

} else {

e.cancelBubble = true; //IE

}

}

4、阻止默认事件:

IE浏览器中:将e.returnValue属性设为false;

其他浏览器:调用e.preventDefault();方法

兼容写法:function eventHandler(e) {

e = e || window.event;

// 防止默认行为

if (e.preventDefault) {

e.preventDefault(); //IE以外

} else {

e.returnValue = false; //IE

}

}

时间: 2024-10-07 05:36:03

javacript中的事件的相关文章

在Unity中使用事件/委托机制(event/delegate)进行GameObject之

欢迎来到unity学习.unity培训.unity企业培训教育专区,这里有很多U3D资源.U3D培训视频.U3D教程.U3D常见问题.U3D项目源码,[狗刨学习网]unity极致学院,致力于打造业内unity3d培训.学习第一品牌. 一对多的观察者模式机制有什么缺点? 如果你对如何在Unity中使用事件/委托机制还不太了解,建议您查看我的前一篇文章:[Unity3D技巧]在Unity中使用事件/委托机制(event/delegate)进行GameObject之间的通信 在前一篇博客里面,我们写到

jQuery中的事件

1:加载dom     在页面加载完毕后, 浏览器会通过 JavaScript 为 DOM 元素添加事件. 在常规的 JavaScript 代码中,     通常使用 window.onload 方法, 在 jQuery 中使用$(document).ready() 方法.     $(document).ready(function(){});缩写$(function(){}); 2: 事件绑定:对匹配的元素进行特定的事件绑定: bind() 3:合成事件:         hover():

Java中的事件监听机制

鼠标事件监听机制的三个方面: 1.事件源对象: 事件源对象就是能够产生动作的对象.在Java语言中所有的容器组件和元素组件都是事件监听中的事件源对象.Java中根据事件的动作来区分不同的事件源对象,动作发生在哪个组件上,那么该组件就是事件源对象 2.事件监听方法: addMouseListener(MouseListener ml) ;该方法主要用来捕获鼠标的释放,按下,点击,进入和离开的动作:捕获到相应的动作后,交由事件处理类(实现MouseListener接口)进行处理. addAction

js中的事件,内置对象,正则表达式

[JS中的事件分类] 1.鼠标事件: click/dbclick/mouseover/mouseout/mousemove/mousedown/mouseup 2.键盘事件: keydown: 键盘按下去触发 keypress: 键盘按下并松开的瞬间触发 keyup: 键盘抬起时触发 [注意事项:(了解)] ① 执行顺序: keydown--keypress--keyup ② 长按时,会循环不断的执行keydown-keypress ③ 有keydown事件,不一定有keyup事件(事件触发过程

jQuery中的事件冒泡

1.什么是冒泡 eg: <!DOCTYPE html> <html xmlns="http://www.w3.org/1999/xhtml"> <head> <meta http-equiv="Content-Type" content="text/html; charset=utf-8"/> <title>事件冒泡</title> <script src="

Android中的事件分发机制(下)——View的事件处理

综述 在上篇文章Android中的事件分发机制(上)--ViewGroup的事件分发中,对ViewGroup的事件分发进行了详细的分析.在文章的最后ViewGroup的dispatchTouchEvent方法调用dispatchTransformedTouchEvent方法成功将事件传递给ViewGroup的子View.并交由子View进行处理.那么现在就来分析一下子View接收到事件以后是如何处理的. View的事件处理 对于这里描述的View,它是ViewGroup的父类,并不包含任何的子元

iOS中的事件传递和响应者链条

iOS中的事件传递和响应者链条 本文转自:http://www.linuxidc.com/Linux/2015-08/121270.htm 首先我们来看看ios中事件的产生和传递过程 1.发生触摸事件后,系统会将事件加入到一个由UIApplication管理的队列事件中来 2.UIApplication会从事件队列中取出最前面的事件,并将事件分发下去以便处理,通常会发发送事件给应用程序的主窗口 3.主窗口会在视图层次结构中找到一个最合适的视图来处理触摸事件 4.找到合适的视图控件后,就会调用视图

iOS中的事件传递和响应者链

首先我们来看看iOS中事件的产生和传递过程: 1.发生触摸事件后,系统会将该事件加入到一个由UIApplication管理的队列事件中 2.UIApplication会从事件队列中取出最前面的事件,并将事件分发下去以便处理,通常会先发送事件给应用程序的主窗口(keyWindow) 3.主窗口会在视图层次结构中找到一个最合适的视图来处理触摸事件 4.找到合适的视图控件后,就会调用视图控件的touches方法来作事件的具体处理:touchesBegin... touchesMoved...touch

jQuery中的事件和动画

一.jQuery中的事件 加载DOM 在JS中等待页面加载完成通常使用window.onload方法,而在jQuery中则使用$(document).ready()方法来替代传统的window.onload方法.这两者有很大的不同: 执行时机 window.onload方法是在网页所有的元素(包括元素关联的文件)完全加载到浏览器后才能执行.而Query中的$(document).ready()方法,在DOM载入就绪就可以对其操纵并调用它绑定的函数,此时网页中的所有元素可能并没有下载完毕. 有时我