動態監聽輸入框值的變化

一、鍵盤事宜

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>
    原文作者:鍵盤上的眼淚
    原文地址: https://segmentfault.com/a/1190000015164270
    本文转自网络文章,转载此文章仅为分享知识,如有侵权,请联系博主进行删除。
点赞