1.onkeydown
onkeydown 事件會在用戶按下一個鍵盤按鍵時發生。
2.onkeypress
onkeypress 事件會在鍵盤按鍵被按下並釋放一個鍵時發生。
onkeypress 事件在全部瀏覽器中不能觸發全部按鍵(例如:ALT, CTRL, SHIFT, ESC) 。若是隻對用戶是否已經按下一個按鍵檢測, 能夠使用 onkeydown 取代, onkeydown被全部按鍵觸發。
onkeypress 屬性在用戶(在鍵盤上)按鍵時觸發。
提示:相對於 onkeypress 事件的事件次序:
onkeydown onkeypress onkeyup
3.onkeyup
nkeyup 事件會在鍵盤按鍵被鬆開時發生。html
以上事件是鍵盤事件,可是當使用onkeydown、onkeypress、onkeyup做爲監聽事件時,會發現一些複製粘貼等操做用不了。這時候咱們須要更專業的解決方案:HTML5標準事件oninput、onchange和IE專屬的事件properchange。jquery
1.oninput&onchange:
oninput和onchange都是事件對象,當輸入框的值發生改變時觸發該事件。不一樣的是,oninput是在值改變時當即觸發,而onchange是在值改變後失去焦點才觸發,而且能夠用在非輸入框中,如:select等。
2.propertychange:
功能同oninput,用以替代oninput在IE9如下的不兼容性。瀏覽器
<!DOCTYPE html> <html lang="en"> <head> <meta charset="UTF-8"> <title>onChange()與propertychange()</title> </head> <body> <h1>onChange():相應的值改變且在失去焦點後纔會觸發</h1> <input type="text" placeholder="onchangge事件" id="onchangge"> <br> <h1>propertychange():相應的值改變就會觸發,可是隻對ie有效</h1> <input type="text" placeholder="propertychange事件" id="propertychange"> </body> <script src="http://apps.bdimg.com/libs/jquery/2.1.4/jquery.min.js"></script> <script> $('#onchangge').change(function () { console.log('我被觸發了1'); }) $('#propertychange').bind('input propertychange', function() { console.log('我被觸發了2'); }); </script> </html>
3.output:是h5的標籤,IE系列瀏覽不兼容,主要用於計算輸出。app
<!DOCTYPE html> <html> <body> <form oninput="x.value=parseInt(a.value)+parseInt(b.value)">0 <input type="range" id="a" value="50">100 +<input type="number" id="b" value="50"> =<output name="x" for="a b"></output> </form> <p><b>註釋:</b>Internet Explorer 不支持 <output> 標籤。</p> </body> </html>