(1)jquery 綁定事件
目前1.7以上,jquery的事件綁定已經用on替換了原來的bind;
區別:(個人理解)bind是一次綁定事件到每一個子節點;on是只綁定到父節點,然後冒泡到各個子節點;
用法:bind
一個事件,一個方法:$(".class input").bind('click',function(e){...;e.stopPropagation;})
兩個事件,一個方法:$(".class input").bind('click mouseover',function(e){...;e.stopPropagation;})
兩個事件,兩個方法:$(".class input").bind({ click:function(e){...;e.stopPropagation;}, mouseover:function(e){...;e.stopPropagation;} })
on,可以直接替換掉bind,就是說上述的用法都適用於on;
此外,on比bind多了兩個選擇性參數
on( events [, selector ] [, data ], handler(eventObject) )
selector:要綁定的元素,上面的例子可以寫成:$(".class").bind('click','input',function(e){...;e.stopPropagation;})
(需要注意的是,有一個事件不好用,就是'大便'ie下專屬的事件:onpropertychange;
可以用:$(".class input").bind('propertychange',function(e){...;e.stopPropagation;})
沒反應:$(".class").bind('propertychange','input',function(e){...;e.stopPropagation;})
)
data:傳遞給event.data的參數,$(".class").bind('click','input','123',function(e){alert(e.data/*123*/);e.stopPropagation;})
(更具體用法可查看手冊http://api.jquery.com/on/);
(2)input textare 事件
之前做一個文字框內容即時變化事件觸發時,用onkeyup + onchange;但onchang必須在文字框失焦後才會觸發,後來發現可以用
(if IE) onpropertychange + else oninput 來處理。
說明:
oninput 事件在使用者輸入、退格、刪除、剪下、粘貼及滑鼠剪下與粘貼時觸發(在 IE9&IE9+ 中可能略有區別)。
(Firefox、Chrome、IE9&IE9+ 均支援)
onpropertychange 事件在使用者輸入、退格、刪除、剪下、粘貼及滑鼠剪下與粘貼時觸發
(僅 IE 支援)。
(3)常用事件(原文:http://www.cnblogs.com/ouyanghanwen/archive/2010/12/10/1901802.html)
oncut 事件在粘貼(ctrl + v)、滑鼠粘貼時觸發
onactivate 當對象設定為使用中的元素時觸發。
onafterupdate 當成功更新資料來源對象中的關聯對象後在資料繫結對象上觸發。
onbeforeactivate 對象要被設定為當前元素前立即觸發。
onbeforecut 當選中區從文檔中刪除之前在來源物件觸發。
onbeforedeactivate 在 activeElement 從當前對象變為父文檔其它對象之前立即觸發。
onbeforeeditfocus 在包含於可編輯元素內的對象進入使用者介面啟用狀態前或可編輯容器變成控制項選中區前觸發。
onbeforepaste 在選中區從系統剪貼簿粘貼到文檔前在目標對象上觸發。
onbeforeupdate 當成功更新資料來源對象中的關聯對象前在資料繫結對象上觸發。
onblur 在對象失去輸入焦點時觸發。
onchange 當對象或選中區的內容改變時觸發。
onclick 在使用者用滑鼠左鍵單擊對象時觸發。
oncontextmenu 在使用者使用滑鼠右鍵單擊客戶區開啟操作功能表時觸發。
oncontrolselect 當使用者將要對該對象製作一個控制項選中區時觸發。
oncut 當對象或選中區從文檔中刪除並添加到系統剪貼簿上時在源元素上觸發。
ondblclick 當使用者雙擊對象時觸發。
ondeactivate 當 activeElement 從當前對象變為父文檔其它對象時觸發。
ondrag 當進行拖曳操作時在來源物件上持續觸發。
ondragend 當使用者在拖曳操作結束後釋放滑鼠時在來源物件上觸發。
ondragenter 當使用者拖曳對象到一個合法拖曳目標時在目標元素上觸發。
ondragleave 當使用者在拖曳操作過程中將滑鼠移出合法拖曳目標時在目標對象上觸發。
ondragover 當使用者拖曳對象划過合法拖曳目標時持續在目標元素上觸發。
ondragstart 當使用者開始拖曳文本選中區或選中對象時在來源物件上觸發。
ondrop 當滑鼠按鍵在拖曳操作過程中釋放時在目標對象上觸發。
onerrorupdate 更新資料來源對象中的關聯資料出錯時在資料繫結對象上觸發。
onfilterchange 當可視濾鏡更改狀態或完成轉換時觸發。
onfocus 當對象獲得焦點時觸發。
onfocusin 當元素將要被設定為焦點之前觸發。
onfocusout 在移動焦點到其它元素之後立即觸發於當前擁有焦點的元素上觸發。
onhelp 當使用者在瀏覽器為當前視窗時按 F1 鍵時觸發。
onkeydown 當使用者按下鍵盤按鍵時觸發。
onkeypress 當使用者按下字面鍵時觸發。
onkeyup 當使用者釋放鍵盤按鍵時觸發。
onlosecapture 當對象失去滑鼠捕捉時觸發。
onmousedown 當使用者用任何滑鼠按鍵單擊對象時觸發。
onmouseenter 當使用者將滑鼠指標移動到對象內時觸發。
onmouseleave 當使用者將滑鼠指標移出對象邊界時觸發。
onmousemove 當使用者將滑鼠划過對象時觸發。
onmouseout 當使用者將滑鼠指標移出對象邊界時觸發。
onmouseover 當使用者將滑鼠指標移動到對象內時觸發。
onmouseup 當使用者在滑鼠位於對象之上時釋放滑鼠按鍵時觸發。
onmousewheel 當滑鼠滾輪按鈕旋轉時觸發。
onmove 當對象移動時觸發。
onmoveend 當對象停止移動時觸發。
onmovestart 當對象開始移動時觸發。
onpaste 當使用者粘貼資料以便從系統剪貼簿向文檔傳送資料時在目標對象上觸發。
onpropertychange 當在對象上發生對象上發生屬性更改時觸發。
onreadystatechange 當對象狀態變更時觸發。
onresize 當對象的大小將要改變時觸發。
onresizeend 當使用者更改完控制項選中區中對象的尺寸時觸發。
onresizestart 當使用者開始更改控制項選中區中對象的尺寸時觸發。
onselect 噹噹前選中區改變時觸發。
onselectstart 對象將要被選中時觸發。
ontimeerror 當特定時間錯誤發生時無條件觸發,通常由將屬性設定為無效值導致