문제

JavaScript에서 이벤트가 어떤 우선 순서를 처리합니까?

알파벳 순서로 이벤트는 다음과 같습니다.

  1. ONABORT- 이미지의로드가 중단됩니다
  2. Onblur- 요소는 초점을 잃습니다
  3. ONCHANGE- 사용자는 필드의 내용을 변경합니다.
  4. ONCLICK- 마우스가 객체를 클릭합니다
  5. ondblClick- 마우스는 객체를 두 번 클릭합니다
  6. onerror- 문서 나 이미지를로드 할 때 오류가 발생합니다.
  7. ONFOCUS- 요소가 집중됩니다
  8. ONKEYDOWN- 키보드 키를 누릅니다
  9. Onkeypress- 키보드 키가 누르거나 고정됩니다.
  10. ONKEYUP- 키보드 키가 릴리스됩니다
  11. onload- 페이지 또는 이미지가 완료되었습니다.
  12. OnMousEdown- 마우스 버튼을 누릅니다
  13. OnmouseMove- 마우스가 움직입니다
  14. ONMOUSEOUT- 마우스가 요소에서 옮겨졌습니다
  15. OnMouseOver- 마우스가 요소 위로 이동합니다
  16. ONMOUSEUP- 마우스 버튼이 해제됩니다
  17. OnReset- 재설정 버튼이 클릭됩니다
  18. onresize- 창 또는 프레임이 크기가 커집니다
  19. OnSelect- 텍스트가 선택되었습니다
  20. OnSubmit- 제출 버튼이 클릭됩니다
  21. ONONLOAD- 사용자가 페이지를 종료합니다

이벤트 대기열에서 어떤 순서를 처리합니까?

우선 순위는 첫 번째 우선 (FIFO)이 아닙니다.

도움이 되었습니까?

해결책

이것은 내가 아는 한 과거에 명시 적으로 정의되지 않았습니다. 다른 브라우저는 이벤트 순서를 자유롭게 구현할 수 있지만 적합합니다. 대부분은 모든 실제 목적을 위해 충분히 가깝지만 브라우저가 다소 다른 이상한 에지 케이스가 있었으며 계속해서 특정 브라우저가 특정 이벤트를 보내지 못하는 더 많은 경우가 있습니다. 조금도).

즉, HTML 5 초안 추천 이벤트가 대기 및 파견되는 방법을 지정하려고 시도합니다. 이벤트 루프:

이벤트, 사용자 상호 작용, 스크립트, 렌더링, 네트워킹 등을 조정하려면 사용자 에이전트 가이 섹션에 설명 된대로 이벤트 루프를 사용해야합니다.

사용자 에이전트 당 하나 이상의 이벤트 루프가 있어야하며 관련 유사한 유사한 브라우징 컨텍스트의 단위당 최대 하나의 이벤트 루프가 있어야합니다.

이벤트 루프에는 하나 이상의 작업 대기열이 있습니다. 작업 대기열은 주문 된 작업 목록 [...] 사용자 에이전트가 작업을 대기열 할 때 관련 이벤트 루프의 작업 큐 중 하나에 주어진 작업을 추가해야합니다. 하나의 특정 작업 소스의 모든 작업은 항상 동일한 작업 대기열에 추가되어야하지만 다른 작업 소스의 작업은 다른 작업 대기열에 배치 될 수 있습니다. [...

...] 사용자 에이전트는 마우스 및 주요 이벤트 (사용자 상호 작용 작업 소스)에 대해 하나의 작업 대기열을 가질 수 있고 다른 모든 것은 다른 모든 것을 가질 수 있습니다. 그런 다음 사용자 에이전트는 다른 작업보다 키보드 및 마우스 이벤트 선호도를 3/4 분기에 제공하여 인터페이스를 응답하지만 다른 작업 대기열을 굶주 리지 않으며 한 작업 소스에서 이벤트를 주문하지 않습니다. [...

마지막 비트 : 특정 유형의 이벤트에 제공된 우선 순위뿐만 아니라 어떤 이벤트를 함께 그룹화하고 순서대로 처리 할 것인지 결정하는 것은 브라우저 구현에 달려 있습니다. 따라서 모든 브라우저가 파견 할 것으로 예상 할 이유가 거의 없습니다. 모두 고정 된 순서, 현재 또는 미래의 이벤트.

다른 팁

시퀀스 상대 이벤트가 호출되는 것을 알고 싶은 사람은 아래를 참조하십시오. 지금까지 나는 크롬에서만 테스트했습니다.

  1. 마우스 오버
  2. Mousemove
  3. 마우스 아웃

  1. 마우스 own
  2. 변경 (집중 입력)
  3. 블러 (집중 요소)
  4. 집중하다
  5. 마우스 업
  6. 딸깍 하는 소리
  7. dblclick

  1. 키 다운
  2. 키 누름
  3. 키 업

마우스/터치 이벤트를보고 있다면 Patrick H. Lauke가 출판했습니다. 주제에 대한 이야기. 확실히 흥미로운 독서 - 다른 브라우저, 다른 장치 및 다른 표준의 모든 단점을 다룹니다.

그는 또한 번들 포괄적 인 테스트 세트.

라이센스 : CC-BY-SA ~와 함께 속성
제휴하지 않습니다 StackOverflow
scroll top