javascript事件列表解說javascript事件列表解說
事件 瀏覽器支持 解說
一般事件 onclick ie3、n2 鼠標點擊時觸發此事件
ondblclick ie4、n4 鼠標雙擊時觸發此事件
onmousedown ie4、n4 按下鼠標時觸發此事件
onmouseup ie4、n4 鼠標按下後松開鼠標時觸發此事件
onmouseover ie3、n2 當鼠標移動到某對象范圍的上方時觸發此事件
onmousemove ie4、n4 鼠標移動時觸發此事件
onmouseout ie4、n3 當鼠標離開某對象范圍時觸發此事件
onkeypress ie4、n4 當鍵盤上的某個鍵被按下並且釋放時觸發此事件.
onkeydown ie4、n4 當鍵盤上某個按鍵被按下時觸發此事件
onkeyup ie4、n4 當鍵盤上某個按鍵被按放開時觸發此事件
頁面相關事件 onabort ie4、n3 圖片在下載時被用戶中斷
onbeforeunload ie4、n 當前頁面的內容將要被改變時觸發此事件
onerror ie4、n3 出現錯誤時觸發此事件
onload ie3、n2 頁面內容完成時觸發此事件
onmove ie、n4 瀏覽器的窗口被移動時觸發此事件
onresize ie4、n4 當瀏覽器的窗口大小被改變時觸發此事件
onscroll ie4、n 瀏覽器的滾動條位置發生變化時觸發此事件
onstop ie5、n 瀏覽器的停止按鈕被按下時觸發此事件或者正在下載的文件被中斷
onunload ie3、n2 當前頁面將被改變時觸發此事件
表單相關事件 onblur ie3、n2 當前元素失去焦點時觸發此事件
onchange ie3、n2 當前元素失去焦點並且元素的內容發生改變而觸發此事件
onfocus ie3 、n2 當某個元素獲得焦點時觸發此事件
onreset ie4 、n3 當表單中reset的屬性被激發時觸發此事件
onsubmit ie3 、n2 一個表單被遞交時觸發此事件
滾動字幕事件 onbounce ie4、n 在marquee內的內容移動至marquee顯示范圍之外時觸發此事件
onfinish ie4、n 當marquee元素完成需要顯示的內容後觸發此事件
onstart ie4、 n 當marquee元素開始顯示內容時觸發此事件
編輯事件 onbeforecopy ie5、n 當頁面當前的被選擇內容將要復制到瀏覽者系統的剪貼板前觸發此事件
onbeforecut ie5、 n 當頁面中的一部分或者全部的內容將被移離當前頁面[剪貼]並移動到瀏覽者的系統剪貼板時觸發此事件
onbeforeeditfocus ie5、n 當前元素將要進入編輯狀態
onbeforepaste ie5、 n 內容將要從瀏覽者的系統剪貼板傳送[粘貼]到頁面中時觸發此事件
onbeforeupdate ie5、 n 當瀏覽者粘貼系統剪貼板中的內容時通知目標對象
oncontextmenu ie5、n 當瀏覽者按下鼠標右鍵出現菜單時或者通過鍵盤的按鍵觸發頁面菜單時觸發的事件
oncopy ie5、n 當頁面當前的被選擇內容被復制後觸發此事件
oncut ie5、n 當頁面當前的被選擇內容被剪切時觸發此事件
ondrag ie5、n 當某個對象被拖動時觸發此事件 [活動事件]
ondragdrop ie、n4 一個外部對象被鼠標拖進當前窗口或者幀
ondragend ie5、n 當鼠標拖動結束時觸發此事件,即鼠標的按鈕被釋放瞭
ondragenter ie5、n 當對象被鼠標拖動的對象進入其容器范圍內時觸發此事件
ondragleave ie5、n 當對象被鼠標拖動的對象離開其容器范圍內時觸發此事件
ondragover ie5、n 當某被拖動的對象在另一對象容器范圍內拖動時觸發此事件
ondragstart ie4、n 當某對象將被拖動時觸發此事件
ondrop ie5、n 在一個拖動過程中,釋放鼠標鍵時觸發此事件
onlosecapture ie5、n 當元素失去鼠標移動所形成的選擇焦點時觸發此事件
onpaste ie5、n 當內容被粘貼時觸發此事件
onselect ie4、n 當文本內容被選擇時的事件
onselectstart ie4、n 當文本內容選擇將開始發生時觸發的事件
數據綁定 onafterupdate ie4、n 當數據完成由數據源到對象的傳送時觸發此事件
oncellchange ie5、n 當數據來源發生變化時
ondataavailable ie4、n 當數據接收完成時觸發事件
ondatasetchanged ie4、n 數據在數據源發生變化時觸發的事件
ondatasetcomplete ie4、n 當來子數據源的全部有效數據讀取完畢時觸發此事件
onerrorupdate ie4、n 當使用onbeforeupdate事件觸發取消瞭數據傳送時,代替onafterupdate事件
onrowenter ie5、n 當前數據源的數據發生變化並且有新的有效數據時觸發的事件
onrowexit ie5、n 當前數據源的數據將要發生變化時觸發的事件
onrowsdelete ie5、n 當前數據記錄將被刪除時觸發此事件
onrowsinserted ie5、n 當前數據源將要插入新數據記錄時觸發此事件
外部事件 onafterprint ie5、n 當文檔被打印後觸發此事件
onbeforeprint ie5、n 當文檔即將打印時觸發此事件
onfilterchange ie4、n 當某個對象的濾鏡效果發生變化時觸發的事件
onhelp ie4、n 當瀏覽者按下f1或者瀏覽器的幫助選擇時觸發此事件
onpropertychange ie5、n 當對象的屬性之一發生變化時觸發此事件
onreadystatechange ie4、n 當對象的初始化屬性值發生變化時觸發此事件
<table class="bbcode"></table>onactivate 當對象設置為活動元素時觸發。
onafterupdate 當成功更新數據源對象中的關聯對象後在數據綁定對象上觸發。
onbeforedeactivate 在 activeelement 從當前對象變為父文檔其它對象之前立即觸發。
onbeforeupdate 當成功更新數據源對象中的關聯對象前在數據綁定對象上觸發。
onblur 在對象失去輸入焦點時觸發。
oncontrolselect 當用戶將要對該對象制作一個控件選中區時觸發。
ondeactivate 當 activeelement 從當前對象變為父文檔其它對象時觸發。
onerrorupdate 更新數據源對象中的關聯數據出錯時在數據綁定對象上觸發。
onfocus 當對象獲得焦點時觸發。
onload 在瀏覽器完成對象的裝載後立即觸發。
onmove 當對象移動時觸發。
onmoveend 當對象停止移動時觸發。
onmovestart 當對象開始移動時觸發。
onreadystatechange 當對象狀態變更時觸發。
onresizeend 當用戶更改完控件選中區中對象的尺寸時觸發。
onresizestart 當用戶開始更改控件選中區中對象的尺寸時觸發。
ontimeerror 當特定時間錯誤發生時無條件觸發,通常由將屬性設置為無效值導致。:
javascript 事件串聯執行多個處理過程的方法
以前寫 javascript 程序時,事件都是采用
object . event = handler ;
的方式初始化。這種方式對於 internet explorer、mozilla/firefox 和 opera 來說很通用。但是有一個問題就是,這種方式隻能一個事件對應一個事件處理過程。如果希望一個事件可以依次執行多個處理過程就不好用瞭。
但是 internet explorer 從 5.0 開始提供瞭一個 attachevent 方法,使用這個方法,就可以給一個事件指派多個處理過程瞭。attachevent 對於目前的 opera 也適用。但是問題是 mozilla/firefox 並不支持這個方法。但是它支持另一個 addeventlistener 方法,這個方法跟 attachevent 差不多,也是用來給一個事件指派多個處理過程的。但是它們指派的事件有些區別,在 attachevent 方法中,事件是以 “on” 開頭的,而在 addeventlistener 中,事件沒有開頭的 “on”,另外 addeventlistener 還有第三個參數,一般這個參數指定為 false 就可以瞭。
因此要想在你的程序中給一個事件指派多個處理過程的話,隻要首先判斷一下瀏覽器,然後根據不同的瀏覽器,選擇使用 attachevent 還是 addeventlistener 就可以瞭。實例如下:
if ( document . all ) {
window . attachevent ( ‘ onload ‘ , handler1 ) ;
window . attachevent ( ‘ onload ‘ , handler2 ) ;
} else {
window . addeventlistener ( ‘ load ‘ , handler1 , false ) ;
window . addeventlistener ( ‘ load ‘ , handler2 , false ) ;
}
註意:attachevent 所指派的多個過程的執行順序是隨機的,所以這幾個過程之間不要有順序依賴。另外 attachevent 和 addeventlistener 不僅僅適用於 window 對象,其他的一些對象也支持該方法。
本文出自“我的超級無敵博客”