prototype使用学习手册指南之event.js

love帮帮的

love帮帮的

2016-02-19 16:36

下面图老师小编跟大家分享prototype使用学习手册指南之event.js,一起来学习下过程究竟如何进行吧!喜欢就赶紧收藏起来哦~

  键盘事件包括keydown、kepress和keyup三种,每次敲击键盘都会(依次?)触发这三种事件,其中keydown和keyup是比较低级的接近于硬件的事件,通俗的理解是这两个事件可以捕获到你敲击了键盘中某个键;而keypress是相对于字符层面的较为高级点的事件,这个事件能够捕捉到你键入了哪个字符。可以这样理解,如果你敲击了A键,keydown和keyup事件只是知道你敲击了A键,它并不知道你敲的是大写的A(你同时按下了Shift键)还是敲的是小写a,它是以"键"为单位,你敲入了大写的A,它只是当成你敲下了shift和A两个键而已,但是keypress可以捕捉到你是敲入的大写的A还是小写的a.

(本文来源于图老师网站,更多请访问http://m.tulaoshi.com/webkaifa/)

  在介绍Prototype中Event对象前先介绍一下浏览器中的事件模型,浏览器中的事件主要有HTML事件、鼠标事件和键盘事件,前两种事件比较好理解,这里主要解释一下键盘事件以及它在IE和firefox中的区别.

  还要理解一个概念是键盘中的键分为字符(可打印)键和功能键(不可打印),功能键包括Backspace, Enter, Escape, the arrow keys, Page Up, Page Down, and F1 through F12 等

(本文来源于图老师网站,更多请访问http://m.tulaoshi.com/webkaifa/)

  下面说一下键盘事件的具体使用方法,

  键盘事件的event对象中包含一个keyCode属性,IE中只有这一个属性,当为keydown和keyup 事件是,keycode属性表示你具体按下的键(也称为virtual keycode),当捕捉的是keypress事件时keyCode属性指的是你键入的字符(character code)

  在firefox中情况有些不同,event对象包含一个keyCode属性和一个charCode属性,keydown和keyup事件的时候,keyCode表示的就是你具体按的键,charCode为0;当捕捉的是keypress事件时,keyCode为0,charCode指的是你按下的字符

  当捕捉的是keypress事件时, 当你按的是可打印字符时,keyCode为0,charCode指的是你按下的字符的键值,当你按的是不可打印字符时,keyCode为按下的键的键值,charCode为0

  注意:功能键不会触发keypress事件,因为keypress对应的就是可打印的字符,但是有一点IE和FF 中的区别,你按下一个字符键的同时按下alt键,在IE中不触发keypress事件,但是在ff中可触发,我发现在IE中按下ctrl键的时候只有按下 q键会触发事件其他的要么不会触发事件,要么被浏览器IE自身捕获了,例如你按下ctrl_A,全选某个东西,你按ctrl_S保存文件,但是在FF中就 好多了,事件都是先传递到网页,再向外传递

  鉴于IE和FF中的区别,如果你比较懒的话,建议只使用keydow和keyup事件,这两种事件的使用在IE和FF中基本上没有区别,也不要捕获ctrl_A等被浏览器定义为快捷键的事件

  键盘事件event对象还有三个其他的属性altKey, ctrlKey, and shiftKey 来判断你按下一个键的时候是否按下了alt等键,这三个属性使用比较简单,三种事件都可以使用,也不存在ie和ff的兼容性问题

  在Prototype中的Event中又如下属性:

  KEY_BACKSPACE: 8,

  KEY_TAB:    9,

  KEY_RETURN: 13,

  KEY_ESC:   27,

  KEY_LEFT:  37,

  KEY_UP:    38,

  KEY_RIGHT:  39,

  KEY_DOWN:  40,

  KEY_DELETE: 46,

  KEY_HOME:  36,

  KEY_END:   35,

  KEY_PAGEUP: 33,

  KEY_PAGEDOWN: 34,

  以及下面的方法:

  element(event) :返回触发事件的元素

  isLeftClick(event) :判断是否按下的左键

  pointerX(event) :事件触发时鼠标的横坐标,对于非鼠标事件,在ff中没有此信息,但在ie中有?

  pointerY(event):事件触发时鼠标所在位置的纵坐标

  stop(event):阻止事件向上传播和浏览器的默认处理方法

  findElement(event, tagName) :找到触发事件的元素的所有祖先元素中的tagName为tagName的一个元素

  observe(element, name, observer, useCapture):注册事件处理函数

  stopObserving(element, name, observer, useCapture):撤销注册的事件

展开更多 50%)
分享

猜你喜欢

prototype使用学习手册指南之event.js

Web开发
prototype使用学习手册指南之event.js

Prototype使用学习手册指南之form.js

Web开发
Prototype使用学习手册指南之form.js

s8lol主宰符文怎么配

英雄联盟 网络游戏
s8lol主宰符文怎么配

Prototype使用学习手册指南之ajax.js

Web开发
Prototype使用学习手册指南之ajax.js

prototype使用学习手册指南之Position.js

Web开发
prototype使用学习手册指南之Position.js

lol偷钱流符文搭配推荐

英雄联盟 网络游戏
lol偷钱流符文搭配推荐

Prototype使用学习手册指南之Selector.js

Web开发
Prototype使用学习手册指南之Selector.js

Prototype使用学习手册指南之dom.js

Web开发
Prototype使用学习手册指南之dom.js

lolAD刺客新符文搭配推荐

英雄联盟
lolAD刺客新符文搭配推荐

win10怎么改安装密钥

win10怎么改安装密钥

6分钟轻松重装Windows8系统

6分钟轻松重装Windows8系统
下拉加载更多内容 ↓