JS事件

一乘瓤、四種touch觸摸事件

  • 事件
  • touchstart
    手指放在屏幕上時觸發(fā)。
window.addEventListener('touchstart', function() {
    nstartY = e.targetTouches[0].screenY;
    nStartX = e.targetTouches[0].screenX;
}, false)
  • touchmove
    手指在屏幕滑動時持續(xù)觸發(fā)
window.addEventListener("touchmove", handleMove, false);
  • touchend
    手指離開屏幕時觸發(fā)
window.addEventListener("touchend", handleEnd, false);
  • touchcancle
    系統(tǒng)取消touch事件時觸發(fā)策泣,在觸摸序列被取消時觸發(fā)衙傀,用的較少。
window.addEventListener("touchend", handleCancle, false);

由于觸摸會導致屏幕動來動去萨咕,所以可以會在這些事件的事件處理函數(shù)內(nèi)使用event.preventDefault()统抬,來阻止屏幕的默認滾動。
這些事件名是針對webkit內(nèi)核瀏覽器的危队,IE中并不叫這些聪建。
touch事件無法獲得當前位置所在的DOM,但是可以獲得當前位置的坐標茫陆,可以使用document.elementFromPoint方法獲取指定坐標的DOM金麸。

  • 事件屬性
    • touches
      當前屏幕上所有觸摸點的列表;
    • targetTouches
      所綁定的當前對象上所有觸摸點的列表簿盅;
  • changedTouches
    觸發(fā)事件時改變的觸摸點的集合挥下。
    舉個例子:有兩個元素div1和div2,只有div2綁定了touchstart事件桨醋,第一次放下一個手指在div2上棚瘟,觸發(fā)了touchstart事件,這個時候喜最,三個集合的內(nèi)容是一樣的偎蘸,都包含這個手指的touch。再放下兩個手指一個在div1上瞬内,一個在div2上迷雪,這個時候又會觸發(fā)事件,但changedTouches里面只包含第二個第三個手指的信息遂鹊,因為第一個沒有發(fā)生變化振乏,而targetTouches包含的是在第一個手指和第三個在div2上的手指集合,touches包含屏幕上所有手指的信息秉扑,也就是三個手指。

二、mouse事件

  • 當我們點擊一個元素時會觸發(fā)mouse事件:

    • mouseover
      鼠標指針移動到指定的對象上時發(fā)生舟陆,與所綁定的DOM無關(guān)误澳。
    • mousemove
      當指針設(shè)備在元素上移動時被觸發(fā)。
    • mousedown
      鼠標按鈕被按下時觸發(fā)秦躯。
    • mouseup
      鼠標按鈕被釋放彈起時觸發(fā)忆谓。
  • 事件屬性

    • event.clientX/Y
      獲取的是觸發(fā)點相對于瀏覽器可視區(qū)域左上角距離,不隨頁面滾動而改變踱承。
  • event.pageX/Y
    獲取到的是相對文檔區(qū)域左上角距離倡缠,會隨著頁面滾動而改變。

  • event.screenX/Y
    獲取到的是觸發(fā)點相對于顯示屏幕左上角的距離茎活,不隨頁面的滾動而改變昙沦。

  • event.offsetX/Y或者event.layerX/Y
    獲取的是觸發(fā)點相對于被觸發(fā)dom的左上角距離。event.offsetX/Y是IE的屬性载荔,event.layerX/Y是FF的屬性盾饮。

  • event.target
    觸發(fā)事件時,鼠標所在的DOM懒熙。

  • touch屬性
    clientX/Y丘损、pageX/Y、screenX/Y與mouse事件的相同工扎,target最初觸發(fā)事件的DOM徘钥。

當我們點擊一個元素時,觸發(fā)的事件順序是:touchstart=>touchend=>mouseover=>mousemove=>mousedown=>mouseup=>click肢娘。

三呈础、currentTarget與Target

Target在事件的目標階段, currentTarget在事件流的捕獲蔬浙、目標及冒泡階段猪落。只有當事件流處在目標階段的時候,兩者才是一樣的畴博。當處于捕獲和冒泡階段的時候笨忌,target指向被單擊的對象,currentTarget指向當前事件活動的對象(一般為父級)俱病。

最后編輯于
?著作權(quán)歸作者所有,轉(zhuǎn)載或內(nèi)容合作請聯(lián)系作者
  • 序言:七十年代末官疲,一起剝皮案震驚了整個濱河市,隨后出現(xiàn)的幾起案子亮隙,更是在濱河造成了極大的恐慌途凫,老刑警劉巖,帶你破解...
    沈念sama閱讀 221,820評論 6 515
  • 序言:濱河連續(xù)發(fā)生了三起死亡事件溢吻,死亡現(xiàn)場離奇詭異维费,居然都是意外死亡果元,警方通過查閱死者的電腦和手機,發(fā)現(xiàn)死者居然都...
    沈念sama閱讀 94,648評論 3 399
  • 文/潘曉璐 我一進店門犀盟,熙熙樓的掌柜王于貴愁眉苦臉地迎上來而晒,“玉大人,你說我怎么就攤上這事阅畴〕酰” “怎么了?”我有些...
    開封第一講書人閱讀 168,324評論 0 360
  • 文/不壞的土叔 我叫張陵贱枣,是天一觀的道長监署。 經(jīng)常有香客問我,道長纽哥,這世上最難降的妖魔是什么钠乏? 我笑而不...
    開封第一講書人閱讀 59,714評論 1 297
  • 正文 為了忘掉前任,我火速辦了婚禮昵仅,結(jié)果婚禮上缓熟,老公的妹妹穿的比我還像新娘缘屹。我一直安慰自己僻孝,他們只是感情好,可當我...
    茶點故事閱讀 68,724評論 6 397
  • 文/花漫 我一把揭開白布蚣旱。 她就那樣靜靜地躺著吕世,像睡著了一般彰触。 火紅的嫁衣襯著肌膚如雪。 梳的紋絲不亂的頭發(fā)上命辖,一...
    開封第一講書人閱讀 52,328評論 1 310
  • 那天况毅,我揣著相機與錄音,去河邊找鬼尔艇。 笑死尔许,一個胖子當著我的面吹牛,可吹牛的內(nèi)容都是我干的终娃。 我是一名探鬼主播味廊,決...
    沈念sama閱讀 40,897評論 3 421
  • 文/蒼蘭香墨 我猛地睜開眼,長吁一口氣:“原來是場噩夢啊……” “哼棠耕!你這毒婦竟也來了余佛?” 一聲冷哼從身側(cè)響起,我...
    開封第一講書人閱讀 39,804評論 0 276
  • 序言:老撾萬榮一對情侶失蹤窍荧,失蹤者是張志新(化名)和其女友劉穎辉巡,沒想到半個月后,有當?shù)厝嗽跇淞掷锇l(fā)現(xiàn)了一具尸體蕊退,經(jīng)...
    沈念sama閱讀 46,345評論 1 318
  • 正文 獨居荒郊野嶺守林人離奇死亡郊楣,尸身上長有42處帶血的膿包…… 初始之章·張勛 以下內(nèi)容為張勛視角 年9月15日...
    茶點故事閱讀 38,431評論 3 340
  • 正文 我和宋清朗相戀三年憔恳,在試婚紗的時候發(fā)現(xiàn)自己被綠了。 大學時的朋友給我發(fā)了我未婚夫和他白月光在一起吃飯的照片痢甘。...
    茶點故事閱讀 40,561評論 1 352
  • 序言:一個原本活蹦亂跳的男人離奇死亡喇嘱,死狀恐怖茉贡,靈堂內(nèi)的尸體忽然破棺而出塞栅,到底是詐尸還是另有隱情,我是刑警寧澤腔丧,帶...
    沈念sama閱讀 36,238評論 5 350
  • 正文 年R本政府宣布放椰,位于F島的核電站,受9級特大地震影響愉粤,放射性物質(zhì)發(fā)生泄漏砾医。R本人自食惡果不足惜,卻給世界環(huán)境...
    茶點故事閱讀 41,928評論 3 334
  • 文/蒙蒙 一衣厘、第九天 我趴在偏房一處隱蔽的房頂上張望如蚜。 院中可真熱鬧,春花似錦影暴、人聲如沸错邦。這莊子的主人今日做“春日...
    開封第一講書人閱讀 32,417評論 0 24
  • 文/蒼蘭香墨 我抬頭看了看天上的太陽撬呢。三九已至,卻和暖如春妆兑,著一層夾襖步出監(jiān)牢的瞬間魂拦,已是汗流浹背。 一陣腳步聲響...
    開封第一講書人閱讀 33,528評論 1 272
  • 我被黑心中介騙來泰國打工搁嗓, 沒想到剛下飛機就差點兒被人妖公主榨干…… 1. 我叫王不留芯勘,地道東北人。 一個月前我還...
    沈念sama閱讀 48,983評論 3 376
  • 正文 我出身青樓腺逛,卻偏偏與公主長得像荷愕,于是被迫代替她去往敵國和親。 傳聞我的和親對象是個殘疾皇子屉来,可洞房花燭夜當晚...
    茶點故事閱讀 45,573評論 2 359

推薦閱讀更多精彩內(nèi)容