jQuery/原生JS實時監聽input輸入框值變化


input事件: 

onchange

1、要在 input 失去焦點的時候才會觸發;

2、在輸入框內容變化的時候不會觸發change,當鼠標在其他地方點一下才會觸發;

3、onchange event 所有主要瀏覽器都支持;

4、onchange 屬性可以使用於:<input>, <select>, 和 <textarea>。

<script>
    function change(){
        var x=document.getElementById("password");
        x.value=x.value.toUpperCase();
    console.log("出發了") } </script> </head> <body> 輸入你的密碼: <input type="text" id="password" onchange="change()"> </body>

oninput:

1、在用戶輸入時觸發,它是在元素值發生變化時立即觸發;

2、該事件在 <input> 或 <textarea> 元素的值發生改變時觸發。

3、缺陷:從腳本中修改值不會觸發事件。從瀏覽器下拉提示框里選取值時不會觸發。IE9 以下不支持,所以IE9以下可用onpropertychange 事件代替。

JS: <input type="text" id="password" oninput="change()">

 

jQuery: $("#password").on('input propertychange', change);

onpropertychange:

1、會實時觸發,會在元素的屬性改變時就觸發事件。當元素disable=true時不會觸發

2、缺陷:只在IE 下支持,其他瀏覽器不支持,用oninput來解決。

 

<input type="text" id="password" oninput="onpropertychange()">

 jQuery:

<!DOCTYPE html>  
<html>  
    <head>  
        <meta http-equiv="Content-Type" content="text/html; charset=UTF-8">  
        <title>RunJS</title>  
    <script src="https://code.jquery.com/jquery-3.1.1.min.js"></script>
    </head>  
    <body>  
        <input type="text" id="password" autoComplete='off'>  
      <script type="text/javascript">
$(function(){  
  $('#password').bind('input propertychange', function() {  
     console.log('在實時觸發!!!')   $('#result').html($(this).val().length);
     $(this).val().length != 0 ? $("#login").css("background-color", "#086AC1") : $("#login").css("background-color", "#529DE0")   }); }) </script> </body> </html>

 JavaScript;

  <script type="text/javascript">
    // Firefox, Google Chrome, Opera, Safari, Internet Explorer from version 9
        function OnInput (event) {
            alert ("The new content: " + event.target.value);
        }
    // Internet Explorer
        function OnPropChanged (event) {
            if (event.propertyName.toLowerCase () == "value") {
                alert ("The new content: " + event.srcElement.value);
            }
        }
 </script>
 
 <input type="text" oninput="OnInput (event)" onpropertychange="OnPropChanged (event)" value="Text field" />

  

 


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM