一、鍵盤事宜
1.onkeydown
onkeydown 事宜會在用戶按下一個鍵盤按鍵時發作。
2.onkeypress
onkeypress 事宜會在鍵盤按鍵被按下並開釋一個鍵時發作。
onkeypress 事宜在一切閱讀器中不能觸發一切按鍵(比方:ALT, CTRL, SHIFT, ESC) 。假如只對用戶是不是已按下一個按鍵檢測, 能夠運用 onkeydown 庖代, onkeydown被一切按鍵觸發。
onkeypress 屬性在用戶(在鍵盤上)按鍵時觸發。
提醒:相對於 onkeypress 事宜的事宜序次:
onkeydown onkeypress onkeyup
3.onkeyup
nkeyup 事宜會在鍵盤按鍵被鬆開時發作。
以上事宜是鍵盤事宜,然則當運用onkeydown、onkeypress、onkeyup作為監聽事宜時,會發明一些複製粘貼等操縱用不了。這時候我們須要更專業的解決方案:HTML5規範事宜oninput、onchange和IE專屬的事宜properchange。
二、輸入框事宜
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系列閱讀不兼容,重要用於盤算輸出。
<!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>