jQuery文本框(input textare)事件綁定方法教程
更新時(shí)間:2013年04月24日 11:39:43 作者:
jquery​的事件綁定已經(jīng)用on替換了原來的bind,接下來為大家分享下bind的使用方法及input textare事件
目前1.7以上,jquery的事件綁定已經(jīng)用on替換了原來的bind,接下來為大家介紹下bind的使用方法及input textare事件,感興趣的朋友可以參考下
(1)jquery 綁定事件
目前1.7以上,jquery的事件綁定已經(jīng)用on替換了原來的bind;
區(qū)別:(個(gè)人理解)bind是一次綁定事件到每一個(gè)子節(jié)點(diǎn);on是只綁定到父節(jié)點(diǎn),然后冒泡到各個(gè)子節(jié)點(diǎn);
用法:bind
一個(gè)事件,一個(gè)方法:$(".class input").bind('click',function(e){...;e.stopPropagation;})
兩個(gè)事件,一個(gè)方法:$(".class input").bind('click mouseover',function(e){...;e.stopPropagation;})
兩個(gè)事件,兩個(gè)方法:$(".class input").bind({ click:function(e){...;e.stopPropagation;}, mouseover:function(e){...;e.stopPropagation;} })
on,可以直接替換掉bind,就是說上述的用法都適用于on;
此外,on比bind多了兩個(gè)可選參數(shù)
on( events [, selector ] [, data ], handler(eventObject) )
selector:要綁定的元素,上面的例子可以寫成:$(".class").bind('click','input',function(e){...;e.stopPropagation;})
(需要注意的是,有一個(gè)事件不好用,就是'大便'ie下獨(dú)有的事件:onpropertychange;
可以用:$(".class input").bind('propertychange',function(e){...;e.stopPropagation;})
沒反應(yīng):$(".class").bind('propertychange','input',function(e){...;e.stopPropagation;})
)
data:傳遞給event.data的參數(shù),$(".class").bind('click','input','123',function(e){alert(e.data/*123*/);e.stopPropagation;})
(更具體用法可查看手冊(cè)http://api.jquery.com/on/);
(2)input textare 事件
之前做一個(gè)文本框內(nèi)容實(shí)時(shí)變化事件觸發(fā)時(shí),用onkeyup + onchange;但onchang必須在文本框失焦后才會(huì)觸發(fā),后來發(fā)現(xiàn)可以用
(if IE) onpropertychange + else oninput 來處理。
說明:
oninput 事件在用戶輸入、退格、刪除、剪切、粘貼及鼠標(biāo)剪切與粘貼時(shí)觸發(fā)(在 IE9&IE9+ 中可能略有區(qū)別)。
(Firefox、Chrome、IE9&IE9+ 均支持)
onpropertychange 事件在用戶輸入、退格、刪除、剪切、粘貼及鼠標(biāo)剪切與粘貼時(shí)觸發(fā)
(僅 IE 支持)。
(3)常用事件
oncut 事件在粘貼(ctrl + v)、鼠標(biāo)粘貼時(shí)觸發(fā)
onactivate 當(dāng)對(duì)象設(shè)置為活動(dòng)元素時(shí)觸發(fā)。
onafterupdate 當(dāng)成功更新數(shù)據(jù)源對(duì)象中的關(guān)聯(lián)對(duì)象后在數(shù)據(jù)綁定對(duì)象上觸發(fā)。
onbeforeactivate 對(duì)象要被設(shè)置為當(dāng)前元素前立即觸發(fā)。
onbeforecut 當(dāng)選中區(qū)從文檔中刪除之前在源對(duì)象觸發(fā)。
onbeforedeactivate 在 activeElement 從當(dāng)前對(duì)象變?yōu)楦肝臋n其它對(duì)象之前立即觸發(fā)。
onbeforeeditfocus 在包含于可編輯元素內(nèi)的對(duì)象進(jìn)入用戶界面激活狀態(tài)前或可編輯容器變成控件選中區(qū)前觸發(fā)。
onbeforepaste 在選中區(qū)從系統(tǒng)剪貼板粘貼到文檔前在目標(biāo)對(duì)象上觸發(fā)。
onbeforeupdate 當(dāng)成功更新數(shù)據(jù)源對(duì)象中的關(guān)聯(lián)對(duì)象前在數(shù)據(jù)綁定對(duì)象上觸發(fā)。
onblur 在對(duì)象失去輸入焦點(diǎn)時(shí)觸發(fā)。
onchange 當(dāng)對(duì)象或選中區(qū)的內(nèi)容改變時(shí)觸發(fā)。
onclick 在用戶用鼠標(biāo)左鍵單擊對(duì)象時(shí)觸發(fā)。
oncontextmenu 在用戶使用鼠標(biāo)右鍵單擊客戶區(qū)打開上下文菜單時(shí)觸發(fā)。
oncontrolselect 當(dāng)用戶將要對(duì)該對(duì)象制作一個(gè)控件選中區(qū)時(shí)觸發(fā)。
oncut 當(dāng)對(duì)象或選中區(qū)從文檔中刪除并添加到系統(tǒng)剪貼板上時(shí)在源元素上觸發(fā)。
ondblclick 當(dāng)用戶雙擊對(duì)象時(shí)觸發(fā)。
ondeactivate 當(dāng) activeElement 從當(dāng)前對(duì)象變?yōu)楦肝臋n其它對(duì)象時(shí)觸發(fā)。
ondrag 當(dāng)進(jìn)行拖曳操作時(shí)在源對(duì)象上持續(xù)觸發(fā)。
ondragend 當(dāng)用戶在拖曳操作結(jié)束后釋放鼠標(biāo)時(shí)在源對(duì)象上觸發(fā)。
ondragenter 當(dāng)用戶拖曳對(duì)象到一個(gè)合法拖曳目標(biāo)時(shí)在目標(biāo)元素上觸發(fā)。
ondragleave 當(dāng)用戶在拖曳操作過程中將鼠標(biāo)移出合法拖曳目標(biāo)時(shí)在目標(biāo)對(duì)象上觸發(fā)。
ondragover 當(dāng)用戶拖曳對(duì)象劃過合法拖曳目標(biāo)時(shí)持續(xù)在目標(biāo)元素上觸發(fā)。
ondragstart 當(dāng)用戶開始拖曳文本選中區(qū)或選中對(duì)象時(shí)在源對(duì)象上觸發(fā)。
ondrop 當(dāng)鼠標(biāo)按鈕在拖曳操作過程中釋放時(shí)在目標(biāo)對(duì)象上觸發(fā)。
onerrorupdate 更新數(shù)據(jù)源對(duì)象中的關(guān)聯(lián)數(shù)據(jù)出錯(cuò)時(shí)在數(shù)據(jù)綁定對(duì)象上觸發(fā)。
onfilterchange 當(dāng)可視濾鏡更改狀態(tài)或完成轉(zhuǎn)換時(shí)觸發(fā)。
onfocus 當(dāng)對(duì)象獲得焦點(diǎn)時(shí)觸發(fā)。
onfocusin 當(dāng)元素將要被設(shè)置為焦點(diǎn)之前觸發(fā)。
onfocusout 在移動(dòng)焦點(diǎn)到其它元素之后立即觸發(fā)于當(dāng)前擁有焦點(diǎn)的元素上觸發(fā)。
onhelp 當(dāng)用戶在瀏覽器為當(dāng)前窗口時(shí)按 F1 鍵時(shí)觸發(fā)。
onkeydown 當(dāng)用戶按下鍵盤按鍵時(shí)觸發(fā)。
onkeypress 當(dāng)用戶按下字面鍵時(shí)觸發(fā)。
onkeyup 當(dāng)用戶釋放鍵盤按鍵時(shí)觸發(fā)。
onlosecapture 當(dāng)對(duì)象失去鼠標(biāo)捕捉時(shí)觸發(fā)。
onmousedown 當(dāng)用戶用任何鼠標(biāo)按鈕單擊對(duì)象時(shí)觸發(fā)。
onmouseenter 當(dāng)用戶將鼠標(biāo)指針移動(dòng)到對(duì)象內(nèi)時(shí)觸發(fā)。
onmouseleave 當(dāng)用戶將鼠標(biāo)指針移出對(duì)象邊界時(shí)觸發(fā)。
onmousemove 當(dāng)用戶將鼠標(biāo)劃過對(duì)象時(shí)觸發(fā)。
onmouseout 當(dāng)用戶將鼠標(biāo)指針移出對(duì)象邊界時(shí)觸發(fā)。
onmouseover 當(dāng)用戶將鼠標(biāo)指針移動(dòng)到對(duì)象內(nèi)時(shí)觸發(fā)。
onmouseup 當(dāng)用戶在鼠標(biāo)位于對(duì)象之上時(shí)釋放鼠標(biāo)按鈕時(shí)觸發(fā)。
onmousewheel 當(dāng)鼠標(biāo)滾輪按鈕旋轉(zhuǎn)時(shí)觸發(fā)。
onmove 當(dāng)對(duì)象移動(dòng)時(shí)觸發(fā)。
onmoveend 當(dāng)對(duì)象停止移動(dòng)時(shí)觸發(fā)。
onmovestart 當(dāng)對(duì)象開始移動(dòng)時(shí)觸發(fā)。
onpaste 當(dāng)用戶粘貼數(shù)據(jù)以便從系統(tǒng)剪貼板向文檔傳送數(shù)據(jù)時(shí)在目標(biāo)對(duì)象上觸發(fā)。
onpropertychange 當(dāng)在對(duì)象上發(fā)生對(duì)象上發(fā)生屬性更改時(shí)觸發(fā)。
onreadystatechange 當(dāng)對(duì)象狀態(tài)變更時(shí)觸發(fā)。
onresize 當(dāng)對(duì)象的大小將要改變時(shí)觸發(fā)。
onresizeend 當(dāng)用戶更改完控件選中區(qū)中對(duì)象的尺寸時(shí)觸發(fā)。
onresizestart 當(dāng)用戶開始更改控件選中區(qū)中對(duì)象的尺寸時(shí)觸發(fā)。
onselect 當(dāng)當(dāng)前選中區(qū)改變時(shí)觸發(fā)。
onselectstart 對(duì)象將要被選中時(shí)觸發(fā)。
ontimeerror 當(dāng)特定時(shí)間錯(cuò)誤發(fā)生時(shí)無條件觸發(fā),通常由將屬性設(shè)置為無效值導(dǎo)致
(1)jquery 綁定事件
目前1.7以上,jquery的事件綁定已經(jīng)用on替換了原來的bind;
區(qū)別:(個(gè)人理解)bind是一次綁定事件到每一個(gè)子節(jié)點(diǎn);on是只綁定到父節(jié)點(diǎn),然后冒泡到各個(gè)子節(jié)點(diǎn);
用法:bind
一個(gè)事件,一個(gè)方法:$(".class input").bind('click',function(e){...;e.stopPropagation;})
兩個(gè)事件,一個(gè)方法:$(".class input").bind('click mouseover',function(e){...;e.stopPropagation;})
兩個(gè)事件,兩個(gè)方法:$(".class input").bind({ click:function(e){...;e.stopPropagation;}, mouseover:function(e){...;e.stopPropagation;} })
on,可以直接替換掉bind,就是說上述的用法都適用于on;
此外,on比bind多了兩個(gè)可選參數(shù)
on( events [, selector ] [, data ], handler(eventObject) )
selector:要綁定的元素,上面的例子可以寫成:$(".class").bind('click','input',function(e){...;e.stopPropagation;})
(需要注意的是,有一個(gè)事件不好用,就是'大便'ie下獨(dú)有的事件:onpropertychange;
可以用:$(".class input").bind('propertychange',function(e){...;e.stopPropagation;})
沒反應(yīng):$(".class").bind('propertychange','input',function(e){...;e.stopPropagation;})
)
data:傳遞給event.data的參數(shù),$(".class").bind('click','input','123',function(e){alert(e.data/*123*/);e.stopPropagation;})
(更具體用法可查看手冊(cè)http://api.jquery.com/on/);
(2)input textare 事件
之前做一個(gè)文本框內(nèi)容實(shí)時(shí)變化事件觸發(fā)時(shí),用onkeyup + onchange;但onchang必須在文本框失焦后才會(huì)觸發(fā),后來發(fā)現(xiàn)可以用
(if IE) onpropertychange + else oninput 來處理。
說明:
oninput 事件在用戶輸入、退格、刪除、剪切、粘貼及鼠標(biāo)剪切與粘貼時(shí)觸發(fā)(在 IE9&IE9+ 中可能略有區(qū)別)。
(Firefox、Chrome、IE9&IE9+ 均支持)
onpropertychange 事件在用戶輸入、退格、刪除、剪切、粘貼及鼠標(biāo)剪切與粘貼時(shí)觸發(fā)
(僅 IE 支持)。
(3)常用事件
oncut 事件在粘貼(ctrl + v)、鼠標(biāo)粘貼時(shí)觸發(fā)
onactivate 當(dāng)對(duì)象設(shè)置為活動(dòng)元素時(shí)觸發(fā)。
onafterupdate 當(dāng)成功更新數(shù)據(jù)源對(duì)象中的關(guān)聯(lián)對(duì)象后在數(shù)據(jù)綁定對(duì)象上觸發(fā)。
onbeforeactivate 對(duì)象要被設(shè)置為當(dāng)前元素前立即觸發(fā)。
onbeforecut 當(dāng)選中區(qū)從文檔中刪除之前在源對(duì)象觸發(fā)。
onbeforedeactivate 在 activeElement 從當(dāng)前對(duì)象變?yōu)楦肝臋n其它對(duì)象之前立即觸發(fā)。
onbeforeeditfocus 在包含于可編輯元素內(nèi)的對(duì)象進(jìn)入用戶界面激活狀態(tài)前或可編輯容器變成控件選中區(qū)前觸發(fā)。
onbeforepaste 在選中區(qū)從系統(tǒng)剪貼板粘貼到文檔前在目標(biāo)對(duì)象上觸發(fā)。
onbeforeupdate 當(dāng)成功更新數(shù)據(jù)源對(duì)象中的關(guān)聯(lián)對(duì)象前在數(shù)據(jù)綁定對(duì)象上觸發(fā)。
onblur 在對(duì)象失去輸入焦點(diǎn)時(shí)觸發(fā)。
onchange 當(dāng)對(duì)象或選中區(qū)的內(nèi)容改變時(shí)觸發(fā)。
onclick 在用戶用鼠標(biāo)左鍵單擊對(duì)象時(shí)觸發(fā)。
oncontextmenu 在用戶使用鼠標(biāo)右鍵單擊客戶區(qū)打開上下文菜單時(shí)觸發(fā)。
oncontrolselect 當(dāng)用戶將要對(duì)該對(duì)象制作一個(gè)控件選中區(qū)時(shí)觸發(fā)。
oncut 當(dāng)對(duì)象或選中區(qū)從文檔中刪除并添加到系統(tǒng)剪貼板上時(shí)在源元素上觸發(fā)。
ondblclick 當(dāng)用戶雙擊對(duì)象時(shí)觸發(fā)。
ondeactivate 當(dāng) activeElement 從當(dāng)前對(duì)象變?yōu)楦肝臋n其它對(duì)象時(shí)觸發(fā)。
ondrag 當(dāng)進(jìn)行拖曳操作時(shí)在源對(duì)象上持續(xù)觸發(fā)。
ondragend 當(dāng)用戶在拖曳操作結(jié)束后釋放鼠標(biāo)時(shí)在源對(duì)象上觸發(fā)。
ondragenter 當(dāng)用戶拖曳對(duì)象到一個(gè)合法拖曳目標(biāo)時(shí)在目標(biāo)元素上觸發(fā)。
ondragleave 當(dāng)用戶在拖曳操作過程中將鼠標(biāo)移出合法拖曳目標(biāo)時(shí)在目標(biāo)對(duì)象上觸發(fā)。
ondragover 當(dāng)用戶拖曳對(duì)象劃過合法拖曳目標(biāo)時(shí)持續(xù)在目標(biāo)元素上觸發(fā)。
ondragstart 當(dāng)用戶開始拖曳文本選中區(qū)或選中對(duì)象時(shí)在源對(duì)象上觸發(fā)。
ondrop 當(dāng)鼠標(biāo)按鈕在拖曳操作過程中釋放時(shí)在目標(biāo)對(duì)象上觸發(fā)。
onerrorupdate 更新數(shù)據(jù)源對(duì)象中的關(guān)聯(lián)數(shù)據(jù)出錯(cuò)時(shí)在數(shù)據(jù)綁定對(duì)象上觸發(fā)。
onfilterchange 當(dāng)可視濾鏡更改狀態(tài)或完成轉(zhuǎn)換時(shí)觸發(fā)。
onfocus 當(dāng)對(duì)象獲得焦點(diǎn)時(shí)觸發(fā)。
onfocusin 當(dāng)元素將要被設(shè)置為焦點(diǎn)之前觸發(fā)。
onfocusout 在移動(dòng)焦點(diǎn)到其它元素之后立即觸發(fā)于當(dāng)前擁有焦點(diǎn)的元素上觸發(fā)。
onhelp 當(dāng)用戶在瀏覽器為當(dāng)前窗口時(shí)按 F1 鍵時(shí)觸發(fā)。
onkeydown 當(dāng)用戶按下鍵盤按鍵時(shí)觸發(fā)。
onkeypress 當(dāng)用戶按下字面鍵時(shí)觸發(fā)。
onkeyup 當(dāng)用戶釋放鍵盤按鍵時(shí)觸發(fā)。
onlosecapture 當(dāng)對(duì)象失去鼠標(biāo)捕捉時(shí)觸發(fā)。
onmousedown 當(dāng)用戶用任何鼠標(biāo)按鈕單擊對(duì)象時(shí)觸發(fā)。
onmouseenter 當(dāng)用戶將鼠標(biāo)指針移動(dòng)到對(duì)象內(nèi)時(shí)觸發(fā)。
onmouseleave 當(dāng)用戶將鼠標(biāo)指針移出對(duì)象邊界時(shí)觸發(fā)。
onmousemove 當(dāng)用戶將鼠標(biāo)劃過對(duì)象時(shí)觸發(fā)。
onmouseout 當(dāng)用戶將鼠標(biāo)指針移出對(duì)象邊界時(shí)觸發(fā)。
onmouseover 當(dāng)用戶將鼠標(biāo)指針移動(dòng)到對(duì)象內(nèi)時(shí)觸發(fā)。
onmouseup 當(dāng)用戶在鼠標(biāo)位于對(duì)象之上時(shí)釋放鼠標(biāo)按鈕時(shí)觸發(fā)。
onmousewheel 當(dāng)鼠標(biāo)滾輪按鈕旋轉(zhuǎn)時(shí)觸發(fā)。
onmove 當(dāng)對(duì)象移動(dòng)時(shí)觸發(fā)。
onmoveend 當(dāng)對(duì)象停止移動(dòng)時(shí)觸發(fā)。
onmovestart 當(dāng)對(duì)象開始移動(dòng)時(shí)觸發(fā)。
onpaste 當(dāng)用戶粘貼數(shù)據(jù)以便從系統(tǒng)剪貼板向文檔傳送數(shù)據(jù)時(shí)在目標(biāo)對(duì)象上觸發(fā)。
onpropertychange 當(dāng)在對(duì)象上發(fā)生對(duì)象上發(fā)生屬性更改時(shí)觸發(fā)。
onreadystatechange 當(dāng)對(duì)象狀態(tài)變更時(shí)觸發(fā)。
onresize 當(dāng)對(duì)象的大小將要改變時(shí)觸發(fā)。
onresizeend 當(dāng)用戶更改完控件選中區(qū)中對(duì)象的尺寸時(shí)觸發(fā)。
onresizestart 當(dāng)用戶開始更改控件選中區(qū)中對(duì)象的尺寸時(shí)觸發(fā)。
onselect 當(dāng)當(dāng)前選中區(qū)改變時(shí)觸發(fā)。
onselectstart 對(duì)象將要被選中時(shí)觸發(fā)。
ontimeerror 當(dāng)特定時(shí)間錯(cuò)誤發(fā)生時(shí)無條件觸發(fā),通常由將屬性設(shè)置為無效值導(dǎo)致
您可能感興趣的文章:
- jQuery事件綁定.on()簡(jiǎn)要概述及應(yīng)用
- 關(guān)于jQuery新的事件綁定機(jī)制on()的使用技巧
- jQuery事件綁定和委托實(shí)例
- jQuery事件綁定on()、bind()與delegate() 方法詳解
- jQuery實(shí)現(xiàn)按鈕只點(diǎn)擊一次后就取消點(diǎn)擊事件綁定的方法
- 解析jQuery的三種bind/One/Live事件綁定使用方法
- jquery 新建的元素事件綁定問題解決方案
- jQuery事件綁定與解除綁定實(shí)現(xiàn)方法
- 淺談jQuery事件綁定原理
- JQuery中DOM事件綁定用法詳解
- jQuery事件綁定用法詳解(附bind和live的區(qū)別)
- jQuery實(shí)現(xiàn)的事件綁定功能基本示例
相關(guān)文章
jQuery制作全屏寬度固定高度輪播圖(實(shí)例講解)
下面小編就為大家?guī)硪黄猨Query制作全屏寬度固定高度輪播圖(實(shí)例講解)。小編覺得挺不錯(cuò)的,現(xiàn)在就分享給大家,也給大家做個(gè)參考。一起跟隨小編過來看看吧2017-07-07為jquery.ui.dialog 增加“自動(dòng)記住關(guān)閉時(shí)的位置”的功能
筆者在項(xiàng)目中使用 jquery.ui.dialog 1.7.2時(shí),當(dāng)使用$("#d").dialog("open");時(shí),dialog總是彈出在option中指定的位置;2009-11-11jQuery toggleClass應(yīng)用實(shí)例(附效果圖)
這篇文章主要介紹了jQuery toggleClass的應(yīng)用,需要的朋友可以參考下2014-04-04JQuery與iframe交互實(shí)現(xiàn)代碼
JQuery與iframe交互實(shí)現(xiàn)代碼2009-12-12jQuery Pagination Ajax分頁插件(分頁切換時(shí)無刷新與延遲)中文翻譯版
此jQuery插件為Ajax分頁插件,一次性加載,故分頁切換時(shí)無刷新與延遲,如果數(shù)據(jù)量較大不建議用此方法,因?yàn)榧虞d會(huì)比較慢,接下來詳細(xì)介紹使用方法,感興趣的朋友可以了解下2013-01-01jquery動(dòng)態(tài)增加刪除表格行的小例子
這篇文章介紹了jquery動(dòng)態(tài)增加刪除表格行的小例子,有需要的朋友可以參考一下2013-11-11