加入收藏 | 设为首页 | 会员中心 | 我要投稿 湖南网 (https://www.hunanwang.cn/)- 科技、建站、经验、云计算、5G、大数据,站长网!
当前位置: 首页 > 创业 > 正文

JavaScript Event进修第七章:变乱属性

发布时间:2018-08-26 01:54:05 所属栏目:创业 来源:站长网
导读:为了领略Event属性,我将在这里给出一些示例代码。在这个领域内有很是严峻的赏识器兼容性题目。 当我们想去读一读关于Event的一些资料时,经常会湮没在大量的属性内里,这些属性个中的大大都不能精采的运行在大大都的赏识器。这里有event的兼容性列表。 我
为了领略Event属性,我将在这里给出一些示例代码。在这个领域内有很是严峻的赏识器兼容性题目。

当我们想去读一读关于Event的一些资料时,经常会湮没在大量的属性内里,这些属性个中的大大都不能精采的运行在大大都的赏识器。这里有event的兼容性列表。

我不规划给这些属性列个表,由于那些环境其实是太让人晕头了,并且对你的进修也不会有一点点的辅佐。在写5段代码前我先要问关于赏识器的5个题目。

1、event的范例(type)是什么?
2、哪一个HTML元素是event的方针呢?
3、哪些键在event产生时被按下了?
4、哪个鼠标键在Event产生时被按下了?
5、在Event产生时鼠标的位置在哪?

最后一个题目我在这里做了很是细致的解答。

请留意这些代码我做了很是严谨的工具搜查。我起首建设跨赏识器的的对变乱的会见,然后在行使每一个属性前都做了赏识器支持性的搜查。

1、event的范例(type)是什么?
这是一个跨赏识器的有尺度谜底的题目:行使type属性就可以查察其属性:

function doSomething(e) {<BR> if (!e) var e = window.event;<BR> alert(e.type);<BR>}<BR><BR>

2、哪一个HTML元素是event的方针呢?
W3C/Netscape说:target。差池,微软说,是srcElement。这两个属性都返回event产生时的HTML元素。

function doSomething(e) {<BR> var targ;<BR> if (!e) var e = window.event;<BR> if (e.target) targ = e.target;<BR> else if (e.srcElement) targ = e.srcElement;<BR> if (targ.nodeType == 3) // defeat Safari bug<BR> targ = targ.parentNode;<BR>}<BR><BR>

最后两行的代码专门针对Safari的。假如event产生在一个包括文本(text)的元素上,这个文本节点(text node)而不是元素自己就成为了event的方针。因此我们要搜查假如方针的nodetype是3(文本节点)。假如是我们就把它移动到父节点上,HTML元素。

纵然event被捕捉可能冒泡了(bubbles up),target/srcElement属性也依然是最早产生event的元素。

其他的target
尚有许多targeting的属性。我在Event Order这篇文章里接头了currentTarget,在Mouse event这篇文章里接头了relatedTarget,fromElement和toElement。

3、哪些键在event产生时被按下了?
这个题目相对简朴一些。起首从keyCode属性获得该键的代码(a=65)。当你获得了键值往后,你可以通过String.fromCharCode()要领知道现实的键值,假如须要的话。

function doSomething(e) {<BR> var code;<BR> if (!e) var e = window.event;<BR> if (e.keyCode) code = e.keyCode;<BR> else if (e.which) code = e.which;<BR> var character = String.fromCharCode(code);<BR> alert('Character was ' + character);<BR>}<BR>

这里有一些处所也许会造成键盘变乱较量难用。好比,kepress变乱触发的时刻和行使者按下键的时刻一样长。然而,大大都赏识器内里keydown的触发时刻也和按下的时刻一样长。我不确定这是不是一个好的设法,可是就是那样的。

(编辑:湖南网)

【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容!

    热点阅读