最近跟著慕課網上的《js事件探秘》課程學習 ,總結如下:
一、 第一章
1. 事件流:描述的是從頁面中接受事件的順序
ie ——事件冒泡流; netscap ——事件捕獲流
2. 事件冒泡:即事件最開始由最具體的元素接收,然後逐級向上傳播至最不具體的元素。
3. 事件捕獲:不太具體的節點應該更早接收到事件,而最具體的節點最後接收到事件。
注意:主流瀏覽器都支援事件冒泡,相容性上可以放心使用。
二、第二章 使用事件處理程式
1. html事件處理程式:直接將事件新增到html元素上
eg:
缺點:html與js**耦合度高
2. dom0級事件處理程式:通過屬性給元素新增事件
eg:
3. dom2級事件處理程式
dom2級事件定義了兩個方法:用於處理指定和刪除事件處理程式的操作
addeventlistener() 和removeeventlistner() 。
接收三個引數:要處理的事件名、作為事件處理程式的函式和布林值
注意:布林值為false —— 表示在冒泡階段呼叫處理程式, 為了相容所有瀏覽器,一般將值設為false。true則表示在事件捕獲階段呼叫處理程式。
eg:
注意:ie8
及更早的瀏覽器版本不支援
addeventlistener()
和removeeventlistner()
4. ie事件處理程式
attachevent() 新增事件
detachevent() 刪除事件
接收相同的兩個引數:事件處理程式的名稱和事件處理程式的函式
不使用第三個引數的原因:ie8 以及更早的瀏覽器版本只支援事件冒泡
eg:
5. 跨瀏覽器解決
三、事件物件
在觸發dom上的事件時都會產生乙個物件
事件物件event
1、 dom中的事件物件常用屬性
(1) event.type : 用於獲取事件型別
(2) event.target: 用於獲取事件目標
(3) event.stoppropagation() 方法:用於阻止事件冒泡
(4) event.preventdefault() 方法:阻止事件的預設行為
2、 ie中的事件物件
(1) type屬性:用於獲取事件型別
(2) srcelement屬性:用於獲取事件的目標
(3) cancelbubble屬性:用於阻止事件冒泡
設定為true表示阻止冒泡 設定為false 表示不阻止冒泡
(4) returnvalue屬性:用於阻止事件的預設行為
設定為false表示阻止事件的預設行為
vareventutil = elseif(element.attachevent)else
},//刪除控制代碼
removehandler:function(element,type, handler)elseif(element.detachevent)else
},//獲取事件物件
getevent:function(event),
//獲取事件型別
gettype:function(event)
//獲取目標元素
getelement:function(event)
//阻止預設行為
preventdefault:function(event)else
},//阻止冒泡事件
stoppropagation:function(event)else
}};
js事件 基礎知識
常用的事件 onclick 滑鼠單擊 ondblclick 滑鼠雙擊 onkeyup 按下並釋放鍵盤上的乙個鍵時觸發 onchange 文字內容或下拉列表中的選項發生改變 onfocus 獲得焦點,表示文字框等獲得滑鼠游標 onblur 失去焦點,表示文字框等失去滑鼠游標 onmouseover 滑...
Spring 基礎知識及練習
spring第一天 入門 1.spring的ioc理解。2.編寫spring的程式 xmlns xmlns xsi xmlns p xsi schemalocation spring beans 3.1.xsd 3.呼叫spring相應的程式處理 system.out.println 通過ioc找到...
事件基礎知識
什麼是事件 是物件內部狀態發生了變化,或者物件做某些動作時 或做之前,做之後 向外界發出的通知。註冊時間的基本形式 1註冊事件偵聽器 處理事件的物件.addeventlistener 事件型別,偵聽器函式 2定義事件偵聽器 function 偵聽器函式 e 事件類 void 預設為void 此處為響...