亚洲中字慕日产2020,大陆极品少妇内射AAAAAA,无码av大香线蕉伊人久久,久久精品国产亚洲av麻豆网站

資訊專欄INFORMATION COLUMN

js--DOM事件綁定

tianhang / 1115人閱讀

摘要:中的事件綁定函數(shù)和可能在實(shí)踐中不去使用,有幾個(gè)原因就將全面支持中的事件綁定函數(shù)的事件綁定函數(shù)無法傳遞的事件綁定函數(shù)不支持捕獲同一個(gè)函數(shù)注冊(cè)綁定后,沒有屏蔽掉有內(nèi)存泄漏的問題

js事件綁定

JavaScript 有三種事件模型:

內(nèi)聯(lián)模型

腳本模型

DOM2 模型

內(nèi)聯(lián)模型

//基本廢除不用

 

腳本模型

//基本不用
var input = document.getElementsByTagName("input")[0]; //得到 input 對(duì)象
  input.onclick = function () { //匿名函數(shù)執(zhí)行
  alert("Lee");
};
事件處理函數(shù)  影響的元素 何時(shí)發(fā)生
onabort 圖像 當(dāng)圖像加載被中斷時(shí)
onblur 窗口、框架、所有表單對(duì)象 當(dāng)焦點(diǎn)從對(duì)象上移開時(shí)
onchange 輸入框,選擇框和文本區(qū)域 當(dāng)改變一個(gè)元素的值且失去焦點(diǎn)時(shí)
onclick 鏈接、按鈕、表單對(duì)象、圖像映射區(qū)域 當(dāng)用戶單擊對(duì)象時(shí)
ondblclick 鏈接、按鈕、表單對(duì)象 當(dāng)用戶雙擊對(duì)象時(shí)
ondragdrop 窗口 當(dāng)用戶將一個(gè)對(duì)象拖放到瀏覽器窗口時(shí)
onError 腳本 當(dāng)腳本中發(fā)生語法錯(cuò)誤時(shí)
onfocus 窗口、框架、所有表單對(duì)象 當(dāng)單擊鼠標(biāo)或者將鼠標(biāo)移動(dòng)聚焦到窗口或框架時(shí)
onkeydown 文檔、圖像、鏈接、表單 當(dāng)按鍵被按下時(shí)
onkeypress 文檔、圖像、鏈接、表單 當(dāng)按鍵被按下然后松開時(shí)
onkeyup 文檔、圖像、鏈接、表單 當(dāng)按鍵被松開時(shí)
onload 主題、框架集、圖像 文檔或圖像加載后
onunload 主體、框架集 文檔或框架集卸載后
onmouseout 鏈接 當(dāng)圖標(biāo)移除鏈接時(shí)
onmouseover 鏈接 當(dāng)鼠標(biāo)移到鏈接時(shí)
onmove 窗口 當(dāng)瀏覽器窗口移動(dòng)時(shí)
onreset 表單復(fù)位按鈕 單擊表單的 reset 按鈕
onresize 窗口 當(dāng)選擇一個(gè)表單對(duì)象時(shí)
onselect 表單元素 當(dāng)選擇一個(gè)表單對(duì)象時(shí)
onsubmit 表單 當(dāng)發(fā)送表格到服務(wù)器時(shí)

內(nèi)聯(lián)模型
“DOM2 級(jí)事件”定義了兩個(gè)方法,用于添加事件和刪除事件處理程序的操作:
addEventListener()和 removeEventListener()。所有 DOM 節(jié)點(diǎn)中都包含這兩個(gè)方法,并且它們都接受 3 個(gè)參數(shù);事件名、函數(shù)、冒泡或捕獲的布爾值(true 表示捕獲,false 表示冒泡)

window.addEventListener("load", function () {
  alert("Lee");
}, false);
window.removeEventListener("load", function () {
  alert("Mr.Lee");
}, false)

PS: IE 實(shí)現(xiàn)了與 DOM 中類似的兩個(gè)方法:attachEvent()和 detachEvent()。這兩個(gè)方法接受
相同的參數(shù):事件名稱和函數(shù)。
在使用這兩組函數(shù)的時(shí)候,先把區(qū)別說一下:

1. IE 不支持捕獲,只支持冒泡;
2. IE 添加事件不能屏蔽重復(fù)的函數(shù);
3. IE 中的 this 指向的是 window 而不是 DOM 對(duì)象。
4. 在傳統(tǒng)事件上,IE 是無法接受到 event 對(duì)象的,但使用了 attchEvent()卻可以,但有些區(qū)別。
```javascript
window.attachEvent("load", function () {
  alert("Lee");
}, false);
window.detachEvent("load", function () {
  alert("Mr.Lee");
}, false)
```

PS:IE 中的事件綁定函數(shù) attachEvent()和 detachEvent()可能在實(shí)踐中不去使用,有幾個(gè)
原因:1.IE9 就將全面支持 W3C 中的事件綁定函數(shù);2.IE 的事件綁定函數(shù)無法傳遞 this;3.IE
的事件綁定函數(shù)不支持捕獲;4.同一個(gè)函數(shù)注冊(cè)綁定后,沒有屏蔽掉;5.有內(nèi)存泄漏的問題

文章版權(quán)歸作者所有,未經(jīng)允許請(qǐng)勿轉(zhuǎn)載,若此文章存在違規(guī)行為,您可以聯(lián)系管理員刪除。

轉(zhuǎn)載請(qǐng)注明本文地址:http://www.ezyhdfw.cn/yun/107661.html

相關(guān)文章

  • 深入理解js Dom事件機(jī)制(一)——事件

    摘要:事件捕獲提出的事件流模型稱為事件捕獲。事件代理則是一種簡(jiǎn)單有效的技巧,通過它可以把事件處理器添加到一個(gè)父級(jí)元素上,從而避免把事件處理器添加到多個(gè)子級(jí)元素上。更新無需重新綁定事件處理器,因?yàn)槭录韺?duì)不同子元素可采用不同處理方法。 首先我們思考一個(gè)很有意思的事情:一張紙上畫了兩個(gè)同心圓,當(dāng)我們把手指放到圓心上時(shí),手指指向的不是一個(gè)圓,而是紙上的兩個(gè)圓,同理之,當(dāng)我們單擊網(wǎng)頁上的一個(gè)div...

    OBKoro1 評(píng)論0 收藏0
  • JS DOM Event

    摘要:事件處理程序事件偵聽器的設(shè)定級(jí)級(jí)首先講級(jí)事件處理程序?qū)κ录姆绞奖环Q為事件處理程序或事件偵聽器,但這兩者之間是有區(qū)別的。此外,不能對(duì)事件目標(biāo)事件類型執(zhí)行階段都相同的對(duì)象注冊(cè)多個(gè)相同的事件偵聽器。 關(guān)于這一篇章有太多對(duì)于我來說雜且亂的知識(shí)點(diǎn),單單是分別DOM層級(jí)劃分我看過的文章就有(0,2,3)的,(0,2)的,由于自己知識(shí)掌握還很薄弱所以只能參考別人文章結(jié)合自己理解來寫,這其中也涉及到...

    WelliJhon 評(píng)論0 收藏0
  • 史上前端面試最全問答(附答案)

    摘要:第四步本地服務(wù)器再向上一步返回的域名服務(wù)器發(fā)送請(qǐng)求,然后接受請(qǐng)求的服務(wù)器查詢自己的緩存,如果沒有該紀(jì)錄,則返回相關(guān)的下級(jí)的域名服務(wù)器的地址。第六步本地域名服務(wù)器把返回的結(jié)果保存到緩存,以備下一次使用,同時(shí)還將結(jié)果返回給客戶機(jī)。 史上前端面試最全知識(shí)點(diǎn)(附答案) 一.html & js & css 1.AMD和CMD是什么?它們的區(qū)別有哪些? AMD和CMD是二種模塊定義規(guī)范?,F(xiàn)在都使用...

    SHERlocked93 評(píng)論0 收藏0
  • 史上前端面試最全問答(附答案)

    摘要:第四步本地服務(wù)器再向上一步返回的域名服務(wù)器發(fā)送請(qǐng)求,然后接受請(qǐng)求的服務(wù)器查詢自己的緩存,如果沒有該紀(jì)錄,則返回相關(guān)的下級(jí)的域名服務(wù)器的地址。第六步本地域名服務(wù)器把返回的結(jié)果保存到緩存,以備下一次使用,同時(shí)還將結(jié)果返回給客戶機(jī)。 史上前端面試最全知識(shí)點(diǎn)(附答案) 一.html & js & css 1.AMD和CMD是什么?它們的區(qū)別有哪些? AMD和CMD是二種模塊定義規(guī)范。現(xiàn)在都使用...

    scola666 評(píng)論0 收藏0

發(fā)表評(píng)論

0條評(píng)論

最新活動(dòng)
閱讀需要支付1元查看
<