[JQUERY] jQuery를에 입력 변화를 감지?
JQUERYjQuery를에 입력 변화를 감지?
해결법
-
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.당신은 HTML5를 가지고있는 경우에 :
당신은 HTML5를 가지고있는 경우에 :
그렇지 않으면 당신은 입력 요소의 값의 변화를 나타낼 수있는 모든 이벤트를 확인해야합니다 :
어쩌면 :
-
3.HTML5와 당신이 입력 이벤트를 사용 할 수 있습니다, jQuery를 사용하지 않고 :
HTML5와 당신이 입력 이벤트를 사용 할 수 있습니다, jQuery를 사용하지 않고 :
var input = document.querySelector('input'); input.addEventListener('input', function() { console.log('input changed to: ', input.value); });
이 입력의 텍스트가 변경 될 때마다 실행됩니다.
IE9 +와 다른 브라우저에서 지원됩니다.
그것은 여기에 jsFiddle에 살고보십시오.
-
4.다른 사람이 이미 제안한 것처럼, 귀하의 경우이 솔루션은 여러 이벤트 냄새이다. 이 일을 플러그인은 종종 다음과 같은 이벤트를 수신 :
다른 사람이 이미 제안한 것처럼, 귀하의 경우이 솔루션은 여러 이벤트 냄새이다. 이 일을 플러그인은 종종 다음과 같은 이벤트를 수신 :
$input.on('change keydown keypress keyup mousedown click mouseup', handler);
당신이 적합 할 수 있습니다 생각한다면, 당신은 초점 흐림 너무 다른 이벤트를 추가 할 수 있습니다. 나는 브라우저 메모리 추가 절차에 부하는 사용자의 행동에 따라 실행하기로들을 수있는 이벤트에 초과하지 않는 것이 좋습니다.
주의 : (예컨대 JQuery와 .val () 메소드를 통해) 스크립트와 입력 요소의 값을 변경하는 것은 상기 이벤트 중 하나가 발생하지 않습니다 참고. (참조 : https://api.jquery.com/change/).
-
5.뭔가 요소 내에서 변경 될 때마다 이벤트가 해고 할 경우, 당신은의 keyup 이벤트를 사용할 수 있습니다.
뭔가 요소 내에서 변경 될 때마다 이벤트가 해고 할 경우, 당신은의 keyup 이벤트를 사용할 수 있습니다.
-
6.요소가 포커스를 잃을 때 // .blur 트리거됩니다
요소가 포커스를 잃을 때 // .blur 트리거됩니다
$('#target').blur(function() { alert($(this).val()); });
//하려면 트리거를 수동으로 사용
$('#target').blur();
-
7.당신이 입력 HTML 요소와 함께 사용할 수의 keyup 키 누르기와 같은 jQuery를 이벤트가 있습니다. 당신은 또한 흐림 () 이벤트를 사용할 수 있습니다.
당신이 입력 HTML 요소와 함께 사용할 수의 keyup 키 누르기와 같은 jQuery를 이벤트가 있습니다. 당신은 또한 흐림 () 이벤트를 사용할 수 있습니다.
-
8.이것은 jQuery를 1.7 이상을 사용하여 입력하는 모든 변경을 커버 :
이것은 jQuery를 1.7 이상을 사용하여 입력하는 모든 변경을 커버 :
$(".inputElement").on("input", null, null, callbackFunction);
from https://stackoverflow.com/questions/6458840/detecting-input-change-in-jquery by cc-by-sa and MIT license
'JQUERY' 카테고리의 다른 글
[JQUERY] 텍스트 () 및 HTML () : JQuery와의 차이는 무엇입니까? (0) | 2020.09.27 |
---|---|
[JQUERY] jQuery를에 CSS 클래스 변경에 발사 이벤트 (0) | 2020.09.27 |
[JQUERY] jQuery를 사용하여 <선택>에 옵션을 추가? (0) | 2020.09.27 |
[JQUERY] 어떻게 다른 요소로 요소를 이동하려면? (0) | 2020.09.27 |
[JQUERY] /// 파일 : XMLHttpRequest를 원점 널 (null)이 파일에 대한 액세스 제어 - 허용 - 원산지를 사용할 수 없습니다 /// (서버를 사용) (0) | 2020.09.27 |