多多色-多人伦交性欧美在线观看-多人伦精品一区二区三区视频-多色视频-免费黄色视屏网站-免费黄色在线

國內(nèi)最全IT社區(qū)平臺 聯(lián)系我們 | 收藏本站
阿里云優(yōu)惠2
您當前位置:首頁 > web前端 > jscript > JavaScript Event學習第七章:事件屬性

JavaScript Event學習第七章:事件屬性

來源:程序員人生   發(fā)布時間:2014-05-11 10:54:16 閱讀次數(shù):2795次
為了理解Event屬性,我將在這里給出一些示例代碼。在這個范疇內(nèi)有非常嚴重的瀏覽器兼容性問題。

當我們想去讀一讀關于Event的一些資料時,常常會湮沒在大量的屬性里面,這些屬性其中的大多數(shù)不能良好的運行在大多數(shù)的瀏覽器。這里有event的兼容性列表。

我不打算給這些屬性列個表,因為那些情況實在是太讓人暈頭了,而且對你的學習也不會有一點點的幫助。在寫5段代碼前我先要問關于瀏覽器的5個問題。

1、event的類型(type)是什么?
2、哪一個HTML元素是event的目標呢?
3、哪些鍵在event發(fā)生時被按下了?
4、哪個鼠標鍵在Event發(fā)生時被按下了?
5、在Event發(fā)生時鼠標的位置在哪?

最后一個問題我在這里做了非常詳盡的解答。

請注意這些代碼我做了非常嚴謹?shù)膶ο髾z查。我首先創(chuàng)建跨瀏覽器的的對事件的訪問,然后在使用每一個屬性前都做了瀏覽器支持性的檢查。

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發(fā)生時的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發(fā)生在一個包含文本(text)的元素上,這個文本節(jié)點(text node)而不是元素本身就成為了event的目標。因此我們要檢查如果目標的nodetype是3(文本節(jié)點)。如果是我們就把它移動到父節(jié)點上,HTML元素。

即使event被捕獲或者冒泡了(bubbles up),target/srcElement屬性也依然是最早發(fā)生event的元素。

其他的target
還有很多targeting的屬性。我在Event Order這篇文章里討論了currentTarget,在Mouse event這篇文章里討論了relatedTarget,fromElement和toElement。

3、哪些鍵在event發(fā)生時被按下了?
這個問題相對簡單一些。首先從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事件觸發(fā)的時間和使用者按下鍵的時間一樣長。然而,大多數(shù)瀏覽器里面keydown的觸發(fā)時間也和按下的時間一樣長。我不確定這是不是一個好的想法,但是就是那樣的。

生活不易,碼農(nóng)辛苦
如果您覺得本網(wǎng)站對您的學習有所幫助,可以手機掃描二維碼進行捐贈
程序員人生
------分隔線----------------------------
分享到:
------分隔線----------------------------
關閉
程序員人生
主站蜘蛛池模板: 久久久国产成人精品 | 欧美性xxxx禁忌 | 亚洲码欧美码一区二区三区 | 日本香蕉一区二区三区 | 最近免费中文字幕大全免费版视频 | 亚洲精品久久久久久久久久ty | 久久性生活 | 亚洲精品九色在线网站 | 亚洲精品在线影院 | 久久中国| 国产欧美视频一区二区三区 | 噜噜噜噜私人影院av线观看 | 中文字幕片| 日韩国产欧美在线观看一区二区 | 欧美国产精品亚洲精品第一区 | 欧美人与动人物xxxx9296 | 日韩欧美一区二区不卡看片 | xxfree性欧美hd| 午夜视频在线看 | 中文字幕第6页 | 国产精品久久久亚洲 | 国产欧美日韩精品一区二 | 新武则天一级淫片免费放 | yellow字幕中文字幕最新 | 免费观看一级欧美大 | 亚洲天堂视频在线观看 | 欧美一区二区在线免费观看 | 一区二区三区四区精品 | 精品日韩 | 亚洲人视频在线观看 | 老司机福利在线观看 | 欧美一级性视频 | 一级在线免费视频 | 国产日韩欧美精品 | 欧美亚洲日本一区 | 综合免费视频 | 私人毛片免费高清影视院 | 国产二区视频在线观看 | 666精品国产精品亚洲 | 午夜国产精品不卡在线观看 | 忘忧草wyc.apk |