關於jquery input textare 事件綁定

(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 當特定時間錯誤發生時無條件觸發,通常由將屬性設置為無效值導致

 

發佈留言