对于用户事件类型而言,最常用的是鼠标、键盘、浏览器。

1.鼠标事件:

鼠标的事件都频繁使用,下面例子就测试各种鼠标事件

  1. <script language="javascript">
  2. function handle(oEvent) {
  3. var disp = document.getElementById("display");
  4. if (window.event) oEvent = window.event; //处理兼容性,获得对象
  5. disp.innerHTML += "鼠标事件名称:" + oEvent.type + "<br>";
  6.  
  7. }
  8. window.onload = function() {
  9. var oP = document.getElementById("box");
  10. oP.onmousedown = handle;
  11. oP.onmouseover = handle;
  12. oP.onmouseup = handle;
  13. oP.onmouseout = handle;
  14. oP.onclick = handle;
  15. oP.ondblclick = handle;
  16.  
  17. }
  18. </script>
  19.  
  20. <div>
  21. <div id="box" style="width:100px;height:100px;background:#ddd;">
  22. box内容
  23. </div>
  24. <p id="display"></p>
  25. </div>

鼠标的键值button测试(附对照表)

  1. <script language="javascript">
  2. function TestClick(oEvent) {
  3. var oDiv = document.getElementById("display");
  4. if (window.event)
  5. oEvent = window.event;
  6. oDiv.innerHTML += oEvent.button; //输出button的值
  7. }
  8. document.onmousedown = TestClick;
  9. window.onload = TestClick; //测试未按下任何键
  10. </script>
  11.  
  12. <div>
  13.  
  14. <p id="display"></p>
  15. </div>

2.键盘事件

键盘事件种类不多,仅三种事件。

keydown(按下某键,一直按住会持续触发)

keypress(按下某键并产生字符时触发,即忽略Shift、Alt,ctrl等功能键)

keyup(释放某个键时触发)

键盘监听示例:

  1. <script language="javascript">
  2. function handle(oEvent) {
  3. if (window.event) oEvent = window.event; //处理兼容性,获得事件对象
  4. var oDiv = document.getElementById("display");
  5. oDiv.innerHTML += oEvent.type + "&nbsp;"; //输出事件名称
  6. }
  7.  
  8. window.onload = function() {
  9. var oTextArea = document.getElementById("textin");
  10. oTextArea.onkeydown = handle; //监听所有键盘事件
  11. oTextArea.onkeyup = handle;
  12. oTextArea.onkeypress = handle;
  13. }
  14. </script>
  15. <div>
  16. <textarea rows="4" cols="50" id="textin">
  17. </textarea>
  18. <p id="display"></p>
  19. </div>

对于键盘而言,最重要的不是事件的名称,而是所按的是什么键。由于ie没有charCode属性,而keyCode只有在keydown、keyup事件发生的时才与标准dom的keycode相同,

在keypress事件中等同于keycode,因此采用以下方法。

  1. oEvent.charCode = (oEvent.type == "keypress")?oEvent.keycode:();

之所以不采用keyCode是因为它表示键盘按键,而不是输出的字符,因此,输出“a”和“A”,keycode是等值的,charcode则以字符区分。

另外在keypress中,标准dom的keycode值始终为0;

例子:键盘事件的相关属性:

  1. <script language="javascript">
  2. function handle(oEvent) {
  3. var oDiv = document.getElementById("display");
  4. if (window.event) oEvent = window.event; //处理兼容性,获得事件对象
  5. //设置ie charcode的值
  6. oEvent.charCode = (oEvent.type == "keypress") ? oEvent.keyCode : 0;
  7. oDiv.innerHTML += oEvent.type + ":charCode" + oEvent.charCode + "keyCode" + oEvent.keyCode + "<br>"; //输出测试
  8. }
  9.  
  10. window.onload = function() {
  11. var oTextArea = document.getElementById("textin");
  12. oTextArea.onkeydown = handle; //监听所有键盘事件
  13. oTextArea.onkeypress = handle;
  14. }
  15. </script>
  16.  
  17. <div>
  18. <textarea rows="4" cols="50" id="textin">
  19. </textarea>
  20. <p id="display"></p>
  21.  
  22. </div>

3.htm事件

对于浏览器而言,各种html有着自己的事件,有一些也是用户常常接触到的,比如load,error,select等,常用的html事件如下:

load事件是常用的事件之一,因为在页面载入完成之前,dom的框架还没有搭建完成,因此任何相关操作都不能发生。

给window对象分配load,unload事件等同于<body>标记的onload和onunload方法。

DOM(六)事件类型的更多相关文章

  1. DOM事件类型详解

    一.表单事件: input事件当<input>.<textarea>的值发生变化时触发.此外,打开contenteditable属性的元素,只要值发生变化,也会触发input事 ...

  2. javaScript事件(六)事件类型之滚轮事件

    滚轮事件其实就是一个mousewheel事件,这个事件跟踪鼠标滚轮,类似Mac的触屏版. 一.客户区坐标位置 鼠标事件都是在浏览器视口的特定位置上发生的.这个位置信息保存在事件对象的clientX和c ...

  3. 深入理解DOM事件类型系列第二篇——键盘事件

    × 目录 [1]类型 [2]顺序 [3]按键信息[4]应用 前面的话 鼠标和键盘是电脑端主要的输入设备,上篇介绍了鼠标事件,本文将详细介绍键盘事件 类型 键盘事件用来描述键盘行为,主要有keydown ...

  4. JavaScript DOM高级程序设计 4.2 事件类型--我要坚持到底!

    对象事件 load和unload(载入页面的时候调用load,关闭页面的时候调用unload) abort和error 对于载入图像时出现错误的情况,可以使用error事件侦听器来进行说明: ADS. ...

  5. javaScript事件(九)事件类型之触摸与手势事件

    一.触摸事件 touchstart:当手指触摸屏幕时触发:即使已经有一个手指放在了屏幕上也会触发. touchmove:当手指在屏幕上滑动时连续地触发.在这个世界发生期间,调用preventDefau ...

  6. javaScript事件(八)事件类型之变动事件

    DOM2级的变动(mutation)事件能在DOM中某一部分发送变化时给出提示.变动事件为XML或HTML DOM设计的,并不特定于某种语言.DOM2级定义了如下变动事件. DOMSubtreeMod ...

  7. python 全栈开发,Day51(常用内置对象,函数,伪数组 arguments,关于DOM的事件操作,DOM介绍)

    昨日内容回顾 1.三种引入方式 1.行内js <div onclick = 'add(3,4)'></div> //声明一个函数 function add(a,b){ } 2. ...

  8. 前端JavaScript(2) --常用内置对象,函数,伪数组 arguments,关于DOM的事件操作,DOM介绍

    昨日内容回顾 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 ...

  9. JS事件类型--1

    滚轮事件其实就是一个mousewheel事件,这个事件跟踪鼠标滚轮,类似Mac的触屏版. 一.客户区坐标位置 鼠标事件都是在浏览器视口的特定位置上发生的.这个位置信息保存在事件对象的clientX和c ...

随机推荐

  1. 使用spring-test报异常org.springframework.asm.ClassReader.<init>(Unknown Source)

    spring3.x需要jdk1.7或以下版本 spring4.x与jdk1.8配合使用

  2. WCF并发控制与实例模式

    WCF实例模式类型与区别 实例化模式 instanceMode percall        单调模式 [ServiceBehavior(InstanceContextMode=InstanceCon ...

  3. Reducejoin sample

    示例文件同sample join analysis 之前的示例是使用map端的join.这次使用reduce端的join. 根据源的类别写不同的mapper,处理不同的文件,输出的key都是stude ...

  4. python实现插入排序

    代码如下@.·.@ # *-* coding: utf- *-* if __name__ == '__main__': def insert_sort(l): ,len(l)): tmp = l[i] ...

  5. selenium如何识别验证码

    一:前面的文章写了如何右键另存为图片,把验证码存为图片后,接下来就是要做,怎么把图片上的内容获取到,借住tesseract工具 1.下载tesseract:http://sourceforge.net ...

  6. selenium如何解决window安全验证问题

    解决办法 IE浏览器: 1.使用autoit,捕捉到控件后,编写au3脚本,生成exe,然后java调用exe au3脚本 Dim $account = "username" Di ...

  7. Jetson TK1刷机+配置Mini PCI-e无线网卡

    最近买了台4K电视,觉得可以当显示器用,但没主机,不知怎的想到了Jetson TK1,于是一冲动买了.因为没网线,而Jetson TK1没有无线网卡,所以也折腾了一番,记录一下,给万一也有像我一样没有 ...

  8. 给Testerhome测试小道消息做个硬广告

    测试小道消息在荔枝FM上的粉丝马上就要超过1k了.还差17个我们就能够开通社区了.欢迎大家都来收听测试小道消息哈--更多精彩内容还希望大家下载荔枝fm.关注FM245329. 如果你还不了解测试小道消 ...

  9. Java开发和运行环境的搭建

    Java开发需要准备的东西? JDK+Eclipse 其中JDK的意思是Java开发工具包,Eclipse是进行用于做Java程序开发的工具(当然你也可以用记事本什么的去做). 其他开发工具:JCre ...

  10. 什么是Activity

    Activity 的生命周期是被以下的函数控制的.public class Activity extends ApplicationContext {      protected void onCr ...