복붙노트

[JQUERY] jQuery를에 입력 변화를 감지?

JQUERY

jQuery를에 입력 변화를 감지?

해결법


  1. 1.설명 예를 들어 업데이트]

    설명 예를 들어 업데이트]

    예 : http://jsfiddle.net/pxfunc/5kpeJ/

    방법 1. 입력 이벤트

    최신 브라우저에서 입력 이벤트를 사용합니다. 사용자가 기본적으로 언제 값이 다른 하나 개의 값 변경, 취소, 텍스트 필드에 입력 붙여 넣기 할 때이 이벤트가 발생합니다.

    jQuery를이 같은 그렇게

    $('#someInput').bind('input', function() { 
        $(this).val() // get the current value of the input field.
    });
    

    jQuery를 1.7로 시작,에와 바인드 대체 :

    $('#someInput').on('input', function() { 
        $(this).val() // get the current value of the input field.
    });
    

    방법 2의 keyup 이벤트

    이전 버전의 브라우저는 KeyUp 이벤트를 사용하십시오 (이 또한 키보드의 키가 해제 된 후 "W"해제 될 때 입력 값이 KeyUp 이벤트 화재를 변경하고 있기 때문에이 이벤트가 위양성의 종류를 제공 할 수 있습니다, 화재,하지만 것 은 "시프트"키의 keyup 이벤트 발생을 방출하지만, 변화가 입력을하지 않은 경우.). 컨텍스트 메뉴에서 사용자가 마우스 오른쪽 버튼으로 클릭하고 붙여 넣기하는 경우 또한이 방법은 발생하지 않습니다 :

    $('#someInput').keyup(function() {
        $(this).val() // get the current value of the input field.
    });
    

    방법 3 타이머 (setInterval을 또는에서는 setTimeout)

    주기적으로 값의 변화를 결정하기 위해 입력 값을 확인하는 방법은 타이머를 설정할 수의 keyup의 한계를 해결하기 위해. 이 타이머 체크를 할 setInterval을하거나에서는 setTimeout을 사용할 수 있습니다. 표시된이 SO 질문에 대답을 참조하십시오 : jQuery를 텍스트 상자 변경 이벤트를하거나 시작하고 특정 입력 필드에 대한 타이머를 중지 초점 흐림 이벤트를 사용하여 작업 예를 들어 바이올린 참조


  2. 2.당신은 HTML5를 가지고있는 경우에 :

    당신은 HTML5를 가지고있는 경우에 :

    그렇지 않으면 당신은 입력 요소의 값의 변화를 나타낼 수있는 모든 이벤트를 확인해야합니다 :

    어쩌면 :


  3. 3.HTML5와 당신이 입력 이벤트를 사용 할 수 있습니다, jQuery를 사용하지 않고 :

    HTML5와 당신이 입력 이벤트를 사용 할 수 있습니다, jQuery를 사용하지 않고 :

    var input = document.querySelector('input');
    
    input.addEventListener('input', function()
    {
        console.log('input changed to: ', input.value);
    });
    

    이 입력의 텍스트가 변경 될 때마다 실행됩니다.

    IE9 +와 다른 브라우저에서 지원됩니다.

    그것은 여기에 jsFiddle에 살고보십시오.


  4. 4.다른 사람이 이미 제안한 것처럼, 귀하의 경우이 솔루션은 여러 이벤트 냄새이다. 이 일을 플러그인은 종종 다음과 같은 이벤트를 수신 :

    다른 사람이 이미 제안한 것처럼, 귀하의 경우이 솔루션은 여러 이벤트 냄새이다. 이 일을 플러그인은 종종 다음과 같은 이벤트를 수신 :

    $input.on('change keydown keypress keyup mousedown click mouseup', handler);

    당신이 적합 할 수 있습니다 생각한다면, 당신은 초점 흐림 너무 다른 이벤트를 추가 할 수 있습니다. 나는 브라우저 메모리 추가 절차에 부하는 사용자의 행동에 따라 실행하기로들을 수있는 이벤트에 초과하지 않는 것이 좋습니다.

    주의 : (예컨대 JQuery와 .val () 메소드를 통해) 스크립트와 입력 요소의 값을 변경하는 것은 상기 이벤트 중 하나가 발생하지 않습니다 참고. (참조 : https://api.jquery.com/change/).


  5. 5.뭔가 요소 내에서 변경 될 때마다 이벤트가 해고 할 경우, 당신은의 keyup 이벤트를 사용할 수 있습니다.

    뭔가 요소 내에서 변경 될 때마다 이벤트가 해고 할 경우, 당신은의 keyup 이벤트를 사용할 수 있습니다.


  6. 6.요소가 포커스를 잃을 때 // .blur 트리거됩니다

    요소가 포커스를 잃을 때 // .blur 트리거됩니다

    $('#target').blur(function() {
      alert($(this).val());
    });
    

    //하려면 트리거를 수동으로 사용

    $('#target').blur();
    

  7. 7.당신이 입력 HTML 요소와 함께 사용할 수의 keyup 키 누르기와 같은 jQuery를 이벤트가 있습니다. 당신은 또한 흐림 () 이벤트를 사용할 수 있습니다.

    당신이 입력 HTML 요소와 함께 사용할 수의 keyup 키 누르기와 같은 jQuery를 이벤트가 있습니다. 당신은 또한 흐림 () 이벤트를 사용할 수 있습니다.


  8. 8.이것은 jQuery를 1.7 이상을 사용하여 입력하는 모든 변경을 커버 :

    이것은 jQuery를 1.7 이상을 사용하여 입력하는 모든 변경을 커버 :

    $(".inputElement").on("input", null, null, callbackFunction);
    
  9. from https://stackoverflow.com/questions/6458840/detecting-input-change-in-jquery by cc-by-sa and MIT license