답변:
onBlur당신은 반드시 변경 한 값없이 멀리 개체에서 이동 한 경우 이벤트가 발생합니다.
그만큼 onChange 이벤트는 필드 값을 변경하고 포커스를 잃을 때만 호출됩니다.
quirksmode의 이벤트 소개를 살펴볼 수 있습니다 . 브라우저와 상호 작용할 때 브라우저에서 일어나는 일에 대한 정보를 얻을 수있는 좋은 장소입니다. 그의 책도 좋습니다.
onblur는 필드가 포커스를 잃을 때 발생하고 onchange는 해당 필드의 값이 변경되면 발생합니다. 그러나 이러한 이벤트가 항상 동일한 순서로 발생하는 것은 아닙니다.
Firefox에서 변경된 필드를 탭하면 onchange가 발생하고 onblur가 발생하며 일반적으로 IE에서 동일하게 수행됩니다. 그러나 탭 대신 Enter 키를 누르면 Firefox에서는 onblur 후 onchange가 실행되고 IE는 일반적으로 원래 순서로 실행됩니다. 그러나 IE도 먼저 블러를 발생시키는 경우를 보았으므로 조심하십시오. onblur 또는 onchange가 다른 것보다 먼저 발생한다고 가정 할 수 없습니다.
구체적으로 만드는 예. 따라서 선택이있는 경우 :
<select onchange="" onblur="">
<option>....
</select>
은 onblur()멀리 탐색 할 때 호출된다. 은 onchange()당신이 선택에서 다른 옵션을 선택할 때 호출되는 - 즉, 당신이 그것을 현재로 선정 무엇을 변경합니다.
number에서 위쪽 / 아래쪽 화살표를 클릭하면 변경 이벤트 (흐림 이벤트가 아님)가 발생하는 반면 입력하면 필드가 포커스를 잃을 때만 변경 이벤트가 발생합니다.
여기에서 onBlur ()가 상관없이 실행된다는 점에 주목하는 것이 중요하다고 생각합니다.
이것은 유용한 스레드이지만 명확하지 않은 유일한 것은 onBlur ()이 매번 실행된다는 것입니다.
onChange ()는 값이 변경 될 때만 실행됩니다.