国产探花免费观看_亚洲丰满少妇自慰呻吟_97日韩有码在线_资源在线日韩欧美_一区二区精品毛片,辰东完美世界有声小说,欢乐颂第一季,yy玄幻小说排行榜完本

首頁 > 編程 > JavaScript > 正文

JavaScript事件學習小結(三)js事件對象

2019-11-20 09:44:38
字體:
來源:轉載
供稿:網友

相關閱讀:

JavaScript事件學習小結(五)js中事件類型之鼠標事件

//m.survivalescaperooms.com/article/86259.htm

JavaScript事件學習小結(一)事件流

//m.survivalescaperooms.com/article/86261.htm

javaScript事件學習小結(四)event的公共成員(屬性和方法)

//m.survivalescaperooms.com/article/86262.htm

JavaScript事件學習小結(二)js事件處理程序

//m.survivalescaperooms.com/article/86264.htm

JavaScript事件學習小結(三)js事件對象

//m.survivalescaperooms.com/article/86266.htm

一、事件對象

1、認識事件對象

事件在瀏覽器中是以對象的形式存在的,即event。觸發一個事件,就會產生一個事件對象event,該對象包含著所有與事件有關的信息。包括導致事件的元素、事件的類型以及其他與特定事件相關的信息。

例如:鼠標操作產生的event中會包含鼠標位置的信息;鍵盤操作產生的event中會包含與按下的鍵有關的信息。

所有瀏覽器都支持event對象,但支持方式不同,在DOM中event對象必須作為唯一的參數傳給事件處理函數,在IE中event是window對象的一個屬性。

2、html事件處理程序中event

<input id="btn" type="button" value="click" onclick=" console.log('html事件處理程序'+event.type)"/>

這樣會創建一個包含局部變量event的函數??赏ㄟ^event直接訪問事件對象。

3、DOM中的事件對象

DOM0級和DOM2級事件處理程序都會把event作為參數傳入。

<body><input id="btn" type="button" value="click"/><script>var btn=document.getElementById("btn");btn.onclick=function(event){console.log("DOM0 & click");console.log(event.type); //click}btn.addEventListener("click", function (event) {console.log("DOM2 & click");console.log(event.type); //click},false);</script></body>

4、IE中的事件對象

第一種情況: 通過DOM0級方法添加事件處理程序時,event對象作為window對象的一個屬性存在。

<body><input id="btn" type="button" value="click"/><script>var btn=document.getElementById("btn");btn.onclick= function () {var event=window.event;console.log(event.type); //click}</script></body>

第二種情況:通過attachEvent()添加的事件處理程序,event對象作為參數傳入。

<body><input id="btn" type="button" value="click"/><script>var btn=document.getElementById("btn");btn.attachEvent("onclick", function (type) {console.log(event.type); //click})</script></body>

但是我有兩個地方不懂。

1、通過DOM0級方法添加的事件處理程序中同樣可以傳入一個event參數,它的type和window.event.type一樣,但是傳入的event參數卻和window.event不一樣,為什么?

btn.onclick= function (event) {var event1=window.event;console.log('event1.type='+event1.type); //event1.type=clickconsole.log('event.type='+event.type); //event.type=clickconsole.log('event1==event?'+(event==event1)); //event1==event?false}

2、通過attachEvent添加的事件處理程序中傳入的event和window.event是不一樣的,為什么?

<body><input id="btn" type="button" value="click"/><script>var btn=document.getElementById("btn");btn.attachEvent("onclick", function (type) {console.log(event.type); //clickconsole.log("event==window.event?"+(event==window.event)); //event==window.event?false})</script></body>

以上所述是小編給大家介紹的JavaScript事件學習小結(三)js事件對象的相關知識,希望對大家有所幫助,如果大家想了解更多內容敬請關注武林網網站!

發表評論 共有條評論
用戶名: 密碼:
驗證碼: 匿名發表
主站蜘蛛池模板: 长顺县| 尤溪县| 毕节市| 武乡县| 兴城市| 四川省| 教育| 淮南市| 德惠市| 金华市| 鄂州市| 楚雄市| 陇川县| 贵州省| 新乐市| 剑川县| 枣阳市| 凤山市| 伊宁市| 普宁市| 莲花县| 巴马| 北宁市| 长葛市| 昌吉市| 日喀则市| 惠东县| 汉川市| 临清市| 上高县| 云阳县| 抚宁县| 子洲县| 南康市| 邛崃市| 马关县| 天全县| 施秉县| 中江县| 镇平县| 汤原县|