IE8의 자바 스크립트 문제 (기쁨)가 있습니다.프로그래밍 방식으로 텍스트 상자 값을 변경하면 IE8 실행 변경 이벤트
기본적으로 특정 텍스트 상자의 음수 항목을 양수 값으로 변환해야합니다. 텍스트 상자의 초점이 손실 될 때 나는 물건을 나중에
$('input[type="text"]').live('change', function() {
var number = $(this).val();
if (number < 0)
{
$(this).val(-number);
}
});
을 : 나는 이런 식으로 할 것이라고 파악
텍스트 상자의 값이을 변경 IE8 와 불행하게도$('input[type="text"]').live('blur', function() {
// do stuff with textbox's _positive_ number
})
(즉, 텍스트 상자에 -23을 입력하면 변경 이벤트가 두 번 발생하고 blur 이벤트가 전혀 발생하지 않습니다.
다른 최신 브라우저는이를 수행하지 않습니다.
- 변경 이벤트가 두 번 발생하는 이유는 무엇입니까?
- 왜 블러 이벤트가 발생하지 않습니까?
- 어떻게 수정합니까?
이 일어나는 보려면 여기로 이동 : 다른 값으로 폼 요소의 value
속성을 설정하면 그래서이 줄을 IE8에서,
$(this).val(-number);
트리거를 change
이벤트가 발생 http://jsfiddle.net/ajbeaven/AwZKM/
IE에서 jsfiddle이 제대로 작동하지 않지만, 변경 이벤트가 한 번만 발생하는 것으로 보입니다. UPD : 죄송합니다, 음수를 입력하는 걸 잊었습니다. * – unclenorton