最近在寫一個手機端提交表單的項目,裏面用了很多input標籤,由於項目不太忙,因此,想作的完美點,可是遇到了一些問題,好比:頁面中的必填項若是有至少一項爲空,提交按鈕就是不能提交的狀態,因此須要對全部的input內容進行監聽,剛開始我用了jquery的keyup事件解決問題,可是後來測試出一個bug,若是用戶選擇粘貼複製的話,keyup事件不能觸發,也就不能經過判斷input內容來改變提交按鈕的狀態。下面就這種問題作下總結,但願對本身和他人之後能有點幫助。jquery
1.onfocus 當input 獲取到焦點時觸發dom
2.onblur 當input失去焦點時觸發,注意:這個事件觸發的前提是已經獲取了焦點再失去焦點的時候會觸發相應的js測試
3.onchange 當input失去焦點而且它的value值發生變化時觸發事件
4.onkeydown 在 input中有鍵按住的時候執行一些代碼get
5.onkeyup 在input中有鍵擡起的時候觸發的事件,在此事件觸發以前必定觸發了onkeydown事件input
6.onclick 主要是用於 input type=button,當被點擊時觸發此事件io
7.onselect 當input裏的內容文本被選中後執行一段,只要選擇了就會觸發,不是非得所有選中function
8.oninput 當input的value值發生變化時就會觸發,不用等到失去焦點(與onchange的區別)cli
以上事件能夠直接放到input的屬性裏,例如:<input type="text" onfocus="a();" onblur="b()" onchange="c();" onkeydown="d();" />,也能夠經過js給input dom元素添加相應的事件,如:document.getElementByTagName('input').onfocus = function();sed
鼠標的mouseup事件和mousedown事件。