프로그래밍 방식으로 값이 변경된 keydown 또는 keypress 이벤트에서 호출 된 preventDefault()
은 변경을 고려하지 않고 입력 텍스트 종료시 onchange 이벤트를 트리거하지 않습니다.keydown 이벤트의 preventDefault() onchange 이벤트가 트리거되지 않음
예 코드 (입력 텍스트를 떠나)의 onchange를 호출 자리 만 문자 'A'및 입력을 떠나 다른 시간 후
$('#textbox1').on('change', function() {
alert('onchange called');
});
$('#textbox1').on('keydown', function(event) {
if(event.key=='a') {
$(this).val('A');
//event.target.value = 'A';
event.preventDefault();
}
});
.
바이올린 코드 : http://jsfiddle.net/gxx5744s/1/
어떤 값이 변경되었는지 확인하기 위해 onchange를 이벤트를 사용합니까? 한 쌍의 이전 값/새 값 변수? 부울? 상호 작용이 가능합니까?
아마도 Keydown 이벤트 기본값이 또한 이것을 수행합니다. the docs에서
onchange'은'default' 당신이 방지됩니다의 일부입니다. 그건 그렇고, 너의 질문은 뭐니? 당신의 행동 후에 수동으로 onchange를 트리거하는 방법을 알고 싶습니까? – Kaddath
나는 onchange 이벤트를 수동으로 트리거하면 매번 변경된 값으로 입력 포커스를 유지할 때뿐만 아니라 호출됩니다. – Gian