動態監聽輸入框值的變化

1、鍵盤事件

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


2、輸入框事件

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>
相關文章
相關標籤/搜索