HTML에서 onBlur와 onChange 속성의 차이점은 무엇입니까?
한 사람이 다른 사람과 언제 호출됩니까? onChange가 호출되었지만 onBlur가 호출되지 않는 상황이 있습니까?
onBlur당신은 반드시 변경 한 값없이 멀리 개체에서 이동 한 경우 이벤트가 발생합니다.
onChange이벤트는 사용자가 필드의 값을 변경했을 때 호출하고 초점을 맞출 잃게된다.
quirksmode의 이벤트 소개를 살펴볼 수 있습니다 . 브라우저와 상호 작용할 때 브라우저에서 진행되는 작업에 대한 정보를 얻을 수있는 좋은 장소입니다. 그의 책도 좋습니다.
필드가 포커스를 잃으면 onblur가 실행되고 해당 필드의 값이 변경되면 onchange가 실행됩니다. 그러나 이러한 이벤트가 항상 같은 순서로 발생하는 것은 아닙니다.
Firefox에서 변경된 필드를 탭하면 변경시 onblur가 발생하며 일반적으로 IE에서도 동일하게 수행됩니다. 그러나 탭 대신 Enter 키를 누르면 Firefox에서 onblur가 발생하고 onchanger가 발생하지만 IE는 일반적으로 원래 순서대로 실행됩니다. 그러나 IE가 먼저 블러를 발생시키는 경우를 보았으므로주의하십시오. onblur 또는 onchange가 다른 것보다 먼저 발생한다고 가정 할 수 없습니다.
구체적으로 만드는 예. 이와 같이 선택하면 :
<select onchange="" onblur="">
<option>....
</select>
은 onblur()멀리 탐색 할 때 호출된다. 은 onchange()당신이 선택에서 다른 옵션을 선택할 때 호출되는 - 즉, 당신이 그것을 현재로 선정 무엇을 변경합니다.
Firefox에서 onchange는 입력 필드 외부를 탭하거나 클릭 할 때만 발생합니다. Onblur도 마찬가지입니다. 차이점은 현장에서 아무것도 변경했는지 여부에 관계없이 onblur가 실행된다는 것입니다. ENTER가 이들 중 하나 또는 둘 다를 발생시킬 수 있지만 양식에서 ENTER를 비활성화하면 예기치 않은 제출을 막을 수 있다는 것을 알 수 없습니다.
onBlur는 초점이 더 이상 해당 필드에없는 경우입니다.
onblur 속성은 현재 요소에 존재하는 onBlur 이벤트 핸들러 코드를 반환합니다 (있는 경우).
onChange는 필드 값이 변경 될 때입니다.
onBlur ()가 관계없이 실행된다는 점을 명심해야합니다.
이것은 유용한 스레드이지만 명확하지 않은 유일한 것은 onBlur ()이 매번 발생한다는 것입니다.
onChange ()는 값이 변경 될 때만 실행됩니다.
onChange는 필드 내의 무언가가 바뀌는 경우입니다. 예를 들어, 텍스트 입력에 무언가를 씁니다.
onBlur는 예를 들어 텍스트 입력을 작성하고 클릭 한 경우와 같이 필드에서 포커스를 빼는 경우입니다.
따라서 실제로는 거의 동일하지만 onChange가 입력에서 변경 해야하는 작업을 수행하는 방식으로 onChange가 작동합니다.
'Programing' 카테고리의 다른 글
| 그룹화 된 팬더 데이터 프레임을 반복하는 방법? (0) | 2020.08.03 |
|---|---|
| OpenCV에서 이미지를 선명하게하는 방법? (0) | 2020.08.03 |
| 표준 모드에서 요소 너비 또는 높이 설정 (0) | 2020.08.03 |
| 컨테이너 자체에서 Docker Linux 컨테이너 정보를 어떻게 얻을 수 있습니까? (0) | 2020.08.03 |
| 힘내 rebase 병합 충돌을 계속할 수 없습니다 (0) | 2020.08.03 |