事件

dom2是dom的升級

  • 事件的傳播機(jī)制:
    冒泡模型:從當(dāng)前點(diǎn)擊依次向父級傳遞
    事件捕獲:從document依次向下傳遞
    DOM事件流(標(biāo)準(zhǔn)瀏覽器):從根節(jié)點(diǎn)向下傳遞给赞,經(jīng)過事件點(diǎn)再向父級傳遞
  • 指定事件處理程序
    把一個方法賦值給一個元素的事件處理程序?qū)傩?br> btn.onclick=function(){}綁定事件是同步的刺桃,點(diǎn)擊事件是異步的
  • .addEventListener('事件','function')
    參數(shù)
    ①事件類型
    ②事件處理方法
    ③布爾參數(shù)匪傍,true表示在捕獲階段調(diào)用事件處理程序考榨,false表示在冒泡階段處理(默認(rèn))。
    不會被覆蓋,可以綁定多個事件誉结。
    先執(zhí)行捕獲階段,再執(zhí)行冒泡階段
btn.addEventListener('click',function(e){
  console.log(this)
  console.log(btn)
  console.log(e.target)
//三個的結(jié)果是一樣的
})
  • removeEventLiistener()移除事件
    移除事件不能添加匿名函數(shù)
//移除事件
var btn = document.querySelector('.btn')
var event = function (){
  console.log('hh')
}
btn.addEventListener('click',event,false)
btn.removeEventListener('click',event,false)

IE兼容
attachEvent('onclick',event) 綁定事件有on券躁,只有冒泡階段因此沒有第三個參數(shù)惩坑;this返回的是window對象,不是當(dāng)前對象

事件對象

bubbles 事件是否冒泡
target 事件的目標(biāo)元素
stopPropagation() 取消事件進(jìn)一步捕獲或冒泡


preventDefault() 取消事件默認(rèn)行為

var link = document.querySelector('a')
link.onclick = function(e){
  e.preventDefault()//阻止默認(rèn)要打開鏈接的操作
  console.log(this.href)//輸出這個元素的href
  if(/baidu.com/.test(this.href)){//如果這個鏈接符合www.baidu.com
    location.href  = this.href //把這個鏈接賦值給當(dāng)前鏈接也拜,跳轉(zhuǎn)
  }
}

事件代理機(jī)制

借用一個典型栗子
有三個同事預(yù)計會在周一收到快遞以舒。為簽收快遞,有兩種辦法:一是三個人在公司門口等快遞慢哈;二是委托給前臺MM代為簽收÷樱現(xiàn)實(shí)當(dāng)中,我們大都采用委托的方案(公司也不會容忍那么多員工站在門口就為了等快遞)卵贱。前臺MM收到快遞后滥沫,她會判斷收件人是誰,然后按照收件人的要求簽收键俱,甚至代為付款兰绣。這種方案還有一個優(yōu)勢,那就是即使公司里來了新員工(不管多少)编振,前臺MM也會在收到寄給新員工的快遞后核實(shí)并代為簽收缀辩。

利用事件冒泡原理,從目標(biāo)事件的節(jié)點(diǎn)開始踪央,依次向上傳播事件臀玄,因此給父級元素添加點(diǎn)擊事件,父級下的子元素的點(diǎn)擊事件都會傳遞到父級畅蹂,就是委托父級代為執(zhí)行事件健无,優(yōu)點(diǎn)是不管其下有多少個子級都只操作一個父級對象,節(jié)省空間

綁定事件只能對單個元素進(jìn)行綁定

HTML常用事件

click單擊
dblclick雙擊左鍵
mouseover鼠標(biāo)移入液斜,鼠標(biāo)每次移動到每個子級都會觸發(fā)
mouseout鼠標(biāo)移出
mousenter鼠標(biāo)在范圍內(nèi)累贤,區(qū)別是鼠標(biāo)移動到子級不會再觸發(fā)
mouseleave鼠標(biāo)移出范圍

  • 表單
    focus獲得焦點(diǎn)
    blur失去焦點(diǎn)
    keyup鍵盤按下去松開時觸發(fā)
    keydown鍵盤按下去就觸發(fā)
    change輸入框失去焦點(diǎn)后并內(nèi)容有改變
    submit提交表單
    scroll滾動事件募胃,會發(fā)生多次
    resize窗口發(fā)生變化,會發(fā)生多次

window.onload 頁面的所有資源加載完成畦浓,要所有的圖片加載完成痹束,圖片的加載一般需要網(wǎng)絡(luò)請求,比較慢讶请,onload后獲取的圖片寬高樣式是真實(shí)的寬高度祷嘶。
DOMComtentLoaded頁面渲染完成
document.addEventListener('DOMContentLoaded',function(){})一般js在head標(biāo)簽里引用的時候用這個,把js內(nèi)容寫在里面

自定義事件
還沒搞懂

?著作權(quán)歸作者所有,轉(zhuǎn)載或內(nèi)容合作請聯(lián)系作者
  • 序言:七十年代末夺溢,一起剝皮案震驚了整個濱河市论巍,隨后出現(xiàn)的幾起案子,更是在濱河造成了極大的恐慌风响,老刑警劉巖嘉汰,帶你破解...
    沈念sama閱讀 219,188評論 6 508
  • 序言:濱河連續(xù)發(fā)生了三起死亡事件,死亡現(xiàn)場離奇詭異状勤,居然都是意外死亡鞋怀,警方通過查閱死者的電腦和手機(jī),發(fā)現(xiàn)死者居然都...
    沈念sama閱讀 93,464評論 3 395
  • 文/潘曉璐 我一進(jìn)店門持搜,熙熙樓的掌柜王于貴愁眉苦臉地迎上來密似,“玉大人,你說我怎么就攤上這事葫盼〔须纾” “怎么了?”我有些...
    開封第一講書人閱讀 165,562評論 0 356
  • 文/不壞的土叔 我叫張陵贫导,是天一觀的道長抛猫。 經(jīng)常有香客問我,道長孩灯,這世上最難降的妖魔是什么闺金? 我笑而不...
    開封第一講書人閱讀 58,893評論 1 295
  • 正文 為了忘掉前任,我火速辦了婚禮钱反,結(jié)果婚禮上掖看,老公的妹妹穿的比我還像新娘。我一直安慰自己面哥,他們只是感情好,可當(dāng)我...
    茶點(diǎn)故事閱讀 67,917評論 6 392
  • 文/花漫 我一把揭開白布毅待。 她就那樣靜靜地躺著尚卫,像睡著了一般。 火紅的嫁衣襯著肌膚如雪尸红。 梳的紋絲不亂的頭發(fā)上吱涉,一...
    開封第一講書人閱讀 51,708評論 1 305
  • 那天刹泄,我揣著相機(jī)與錄音,去河邊找鬼怎爵。 笑死特石,一個胖子當(dāng)著我的面吹牛,可吹牛的內(nèi)容都是我干的鳖链。 我是一名探鬼主播姆蘸,決...
    沈念sama閱讀 40,430評論 3 420
  • 文/蒼蘭香墨 我猛地睜開眼,長吁一口氣:“原來是場噩夢啊……” “哼芙委!你這毒婦竟也來了逞敷?” 一聲冷哼從身側(cè)響起,我...
    開封第一講書人閱讀 39,342評論 0 276
  • 序言:老撾萬榮一對情侶失蹤灌侣,失蹤者是張志新(化名)和其女友劉穎推捐,沒想到半個月后,有當(dāng)?shù)厝嗽跇淞掷锇l(fā)現(xiàn)了一具尸體侧啼,經(jīng)...
    沈念sama閱讀 45,801評論 1 317
  • 正文 獨(dú)居荒郊野嶺守林人離奇死亡牛柒,尸身上長有42處帶血的膿包…… 初始之章·張勛 以下內(nèi)容為張勛視角 年9月15日...
    茶點(diǎn)故事閱讀 37,976評論 3 337
  • 正文 我和宋清朗相戀三年,在試婚紗的時候發(fā)現(xiàn)自己被綠了痊乾。 大學(xué)時的朋友給我發(fā)了我未婚夫和他白月光在一起吃飯的照片焰络。...
    茶點(diǎn)故事閱讀 40,115評論 1 351
  • 序言:一個原本活蹦亂跳的男人離奇死亡,死狀恐怖符喝,靈堂內(nèi)的尸體忽然破棺而出闪彼,到底是詐尸還是另有隱情,我是刑警寧澤协饲,帶...
    沈念sama閱讀 35,804評論 5 346
  • 正文 年R本政府宣布畏腕,位于F島的核電站,受9級特大地震影響茉稠,放射性物質(zhì)發(fā)生泄漏描馅。R本人自食惡果不足惜,卻給世界環(huán)境...
    茶點(diǎn)故事閱讀 41,458評論 3 331
  • 文/蒙蒙 一而线、第九天 我趴在偏房一處隱蔽的房頂上張望铭污。 院中可真熱鬧,春花似錦膀篮、人聲如沸嘹狞。這莊子的主人今日做“春日...
    開封第一講書人閱讀 32,008評論 0 22
  • 文/蒼蘭香墨 我抬頭看了看天上的太陽磅网。三九已至,卻和暖如春筷屡,著一層夾襖步出監(jiān)牢的瞬間涧偷,已是汗流浹背簸喂。 一陣腳步聲響...
    開封第一講書人閱讀 33,135評論 1 272
  • 我被黑心中介騙來泰國打工, 沒想到剛下飛機(jī)就差點(diǎn)兒被人妖公主榨干…… 1. 我叫王不留燎潮,地道東北人喻鳄。 一個月前我還...
    沈念sama閱讀 48,365評論 3 373
  • 正文 我出身青樓,卻偏偏與公主長得像确封,于是被迫代替她去往敵國和親除呵。 傳聞我的和親對象是個殘疾皇子,可洞房花燭夜當(dāng)晚...
    茶點(diǎn)故事閱讀 45,055評論 2 355

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

  • js之事件機(jī)制 1隅肥、事件初探 1.1 js事件的概述 JavaScript事件:JavaScript是基于事件驅(qū)動...
    道無虛閱讀 2,365評論 1 3
  • ??JavaScript 與 HTML 之間的交互是通過事件實(shí)現(xiàn)的腥放。 ??事件泛啸,就是文檔或瀏覽器窗口中發(fā)生的一些特...
    霜天曉閱讀 3,495評論 1 11
  • 0.起因 前幾天寫業(yè)務(wù)的時候,碰到了這樣的需求: checkbox在父DIV的里面,但是checkbox綁定了v-...
    CoderMageFox閱讀 923評論 1 0
  • 鏈接地址:http://www.cnblogs.com/liugang-vip/p/5616484.htmlhtt...
    青春前行閱讀 815評論 0 0
  • 文/靖雯 每天晚上,我會花上一個小時的時間用來健身秃症,似乎這已經(jīng)成為我生活的習(xí)慣候址。 我喜歡健身時,汗珠順著額頭沿著散...
    靖雯weny閱讀 818評論 24 18