JavaScript核心之事件概述(所有事件)

 

目录

1 事件与事件名称

2 JavaScript常用事件

3 事件处理程序的调用

3.1 在JavaScript中

3.2 在HTML中

4 DOM事件流程图


    事件处理是对象化编程的一个重要环节,它可以是程序的逻辑结构更加清晰,使程序更有灵活性,提高了程序的开发效率。事件处理过程分为三步:1.发生事件,2启动时间处理程序,3,事件处理程序作出反应

1 事件与事件名称

事件是一些可以通过脚本响应的页面动作。当用户按下鼠标键或者提交一个表单,甚至在页面上移动鼠标是,事件就会出现。事件处理是一段JavaScript代码,总是与页面中的特定部分以及一定的事件关联。绝大多数事件的命名都是描述的,很容易理解。通常,事件处理器的命名原则是,在事件名称前加上前缀on

2 JavaScript常用事件

事件 说明

鼠标

键盘

事件

onclick 鼠标单击时触发此事件
ondblclick 鼠标双击时触发此事件
onmousedown 按下鼠标时触发此事件
onmouseup 鼠标按下后松开鼠标时触发此事件
onmouseover 当鼠标移动到某对象范围的上方时触发此事件
onmousemove 鼠标移动时触发此事件
onmouseout 当鼠标离开某对象范围时触发此事件
onkeypress 当键盘上的某个键被按下并且释放时触发此事件
onkeydown 当键盘上的某个按键被按下时触发此事件
onkeyup 当键盘上的某个按键被按下后松开时触发此事件

页面

相关

事件

onabort 图片在下载时被用户中断时触发此事件
onbeforeunload 当前页面的内容将要被改变时触发此事件
onerror 出现错误时触发此事件
onload 页面内容完成时触发此事件(也就是页面加载事件)
onresize 当浏览器的窗口大小被改变时触发此事件
onunload 当前页面将被改变时触发此事件

表单

相关

事件

onblur 当前元素失去焦点时触发此事件
onchange 当前元素失去焦点并且元素内容发生改变时触发此事件
onfocus 当某个元素获得焦点时触发此事件
onreset 当表单中RESET的属性被激活时触发此事件
onsubmit 一个表单被提交时触发此事件

滚动

字幕

事件

onbounce 在Marquee内的内容移动至Marquee显示范围之外时触发此事件
onfinish 当Marquee元素完成需要显示的内容后触发此事件
onstart 当Marquee元素开始显示内容时触发此事件

编辑

事件

onbeforecopy 当页面当前被选择内容将要复制到浏览者系统的剪贴板前触发此事件
onbeforecut 当页面中的一部分或全部内容将要被剪切到浏览者系统剪贴板时触发此事件
onbeforeeditfocus 当前元素将要进入编辑状态时触发此事件
onbeforepaste 将内容要从浏览者的系统剪贴板中粘贴到页面上时触发此事件
onbeforeupdate 当浏览者粘贴系统剪贴板中的内容时通知目标对象
oncontextmenu 当浏览者按下鼠标右键出现菜单时或者通过键盘的按键触发页面菜单时触发此事件
oncopy 当页面当前的被选择内容被复制后触发此事件
oncut 当页面当前的被选择内容被剪贴时触发此事件
ondrag 当某个对象被拖动时触发此事件(活动事件)
ondragend 当鼠标拖动结束时触发此事件,即鼠标的按钮被释放时
ondragenter 当对象被鼠标拖动进入其容器范围内时触发此事件
ondragleave 当对象被鼠标拖动的对象离开其容器范围内时触发此事件
ondragover 当被拖动的对象在另一对象容器范围内拖动时触发此事件
ondragstart 当某对象被拖动时触发此事件
ondrop 在一个拖动过程中,释放鼠标键时触发此事件
onlosecapture 当元素失去鼠标移动所形成的选择焦点时触发此事件
onpaste 当内容粘贴时触发此事件
onselect 当文本内容被选择时触发此事件
onselectstart 当文本内容的选择将开始发生时触发此事件

数据

绑定

事件

onafterupdate 当数据完成由数据源到对象的传送时触发此事件
oncellchange 当数据来源发生变化时触发此事件
ondataavailable 当数据接受完成时触发此事件
ondatasetchange 数据在数据源发生变化时触发此事件
ondatasetcomplete 当数据源的全部有效数据读取完毕时触发此事件
onerrorupdate 当使用onbeforeupdate事件触发取消了数据传送时,代替onafterupdate事件
onrowenter 当前数据源的数据发生变化并且有新的有效数据时触发此事件
onrowexit 当前数据源的数据将要发生变化时触发此事件
onrowsdelete 当前数据记录将被删除时触发此事件
onrowsinserted 当前数据源将要插入新数据记录时触发此事件

外部

事件

onafterprint 当文档被打印后触发此事件
onbeforeprint 当文档即将打印时触发此事件
onfilterchange 当某个对象的滤镜效果发生变化时触发此事件
onhelp 当浏览者按下F1键或者单击浏览器的帮助菜单时触发此事件
onpropertychange 当对象的属性之一发生变化时触发此事件
onreadystatechange 当对象的初始化属性值发生变化时触发此事件

3 事件处理程序的调用

3.1 在JavaScript中

<input id ="save" name="bt_save" type="button" value="保存">

<script>
    var b_save=document.getElemetnById("save");
    b_save.onclick=function(){
        alert("单击了保存按钮");
    }
</script>

或者如下:

<form id="form1" name="form1" method="post" action="">
<input id ="save" name="bt_save" type="button" value="保存">
</form>
<script>
   form1.save.onclick=function(){
        alert("单击了保存按钮");
    }
</script>

注意:JavaScript中指定事件处理程序时,事件名称必须小写,才能正确响应事件

3.2 在HTML中

在HTML中分配事件处理程序,只需要在HTML标记中添加相应事件,并在其中指定要执行的代码或者函数名即可。

<input name="bt_save" type="button" value="保存" onclick="alert('单击了保存按钮');" >

4 DOM事件流程图

由图可知捕获过程要先于冒泡过程

冒泡型事件(bubbling):从dom树形结构上理解,就是事件由叶子节点沿祖先节点一直向上传递直到根节点;从浏览器界面视图HTML元素排列层次上理解就是事件由具有从属关系的最确定的目标元素一直传递到最不确定的目标元素。

捕获型事件(capturing):netscape navigator 的实现,它与冒泡型刚好相关,有dom树最顶层元素一直到最精确的元素

DOM标准按时间模型:因为两个不同的模型都有其优点和解释,DOM标准支持捕获型与冒泡型,可以说是他们两者的结合体,它可以在一个DOM元素上绑定多个事件处理器,并且在处理函数内部,this关键字任然指向被绑定的DOM元素,另外处理函数参数列表的第一个位置传递事件event对象

5 键盘上数字和数字键的键码值

注意:键码值只有在文本矿中才完全有效

5.1字母和数字键的键码值

按键 键值 按键 键值 按键 键值 按键 键值
A(a) 65 J(j) 74 S(s) 83 1 49
B(b) 66 K(k) 75 T(t) 84 2 50
C(c) 67 L(l) 76 U(u) 85 3 51
D(d) 68 M(m) 77 V(v) 86 4 52
E(e) 69 N(n) 78 W(w) 87 5 53
F(f) 70 O(o) 79 X(x) 88 6 54
G(g) 71 P(p) 80 Y(y) 89 7 55
H(h) 72 Q(q) 81 Z(z) 90 8 56
I(i) 73 R(r) 82 0 48 9 57

5.2 数字键盘上按键的键码值

按键 键值 按键 键值 按键 键值 按键 键值
0 96 8 104 F1 112 F9 120
1 97 9 105 F2 113 F10 121
2 98 * 106 F3 114 F11 122
3 99 + 107 F4 115 F12 123
4 100 Enter 108 F5 116    
5 101 109 F6 117    
6 102 . 110 F7 118    
7 103 / 111 F8 119    

5.3 控制键的键码值

按键 键值 按键 键值 按键 键值 按键 键值
BackSpace 8 Esc 27 Right Arrow(—>) 39 -_ 189
Tab 9 Spacebar 32 Down Arrow(\|/) 40 .> 190
Clear 12 Page Up 33 Insert 45 /? 191
Enter 13 Page Down 34 Delete 46 `~ 192
Shift 16 End 35 Num Lock 144 [{ 219
Control 17 Home 36 ;  : 186 \| 220
Alt 18 Left Arrow() 37 =+ 187 ]} 221
Cape Lock 20 Up Arrow() 38 ,< 188 '  " 222

猜你喜欢

转载自blog.csdn.net/u012060033/article/details/89606913