포인터 이벤트 업데이트

포인터 이벤트는 마우스, 펜 또는 터치 스크린과 같은 장치의 하드웨어 독립적 포인터 입력을 처리하는 이벤트 및 관련 인터페이스입니다. Internet Explorer 10의 초기 버전 이후 포인터 이벤트는 다른 브라우저 공급업체 및 웹 표준 커뮤니티의 피드백과 지원 덕분에 W3C(World Wide Web 컨소시엄) 사양이 되었습니다.

W3C 포인터 이벤트 사양의 후보 권고안을 준수하기 위해 Internet Explorer 11 구현은 Internet Explorer 10 구현에서 약간 변경되었습니다.

MS 공급업체 접두사 제거

Internet Explorer 10이 출시될 당시에도 W3C 포인터 이벤트 사양이 완료되지 않았으므로 포인터 이벤트 구현에 공급업체 접두사가 사용되었습니다. 그 이후 사양이 후보 권고안 상태에 도달했고 사양에 정의된 접두사가 지정되지 않은 서명 덕분에 API의 MS 공급업체 접두사 버전이 더 이상 사용되지 않습니다. IE11부터 포인터 이벤트 API의 Microsoft 접두사 버전은 더 이상 지원되지 않으며 이후 릴리스에서 제거될 수 있습니다.

사용되지 않는 API대체 API
MSPointerDown 이벤트pointerdown 이벤트
MSPointerUp 이벤트pointerup 이벤트
MSPointerCancel 이벤트 pointercancel 이벤트
MSPointerMove 이벤트pointermove 이벤트
MSPointerOver 이벤트pointerover 이벤트
MSPointerOut 이벤트pointerout 이벤트
MSPointerEnter 이벤트pointerenter 이벤트
MSPointerLeave 이벤트pointerleave 이벤트
MSGotPointerCapture 이벤트gotpointercapture 이벤트
MSLostPointerCapture 이벤트lostpointercapture 이벤트
-ms-touch-action CSS 속성touch-action CSS 속성
element.style.msTouchAction 속성element.style.touchAction 속성
onmspointer* 특성onpointer* 특성
element.msSetPointerCapture() 메서드 element.setPointerCapture() 메서드
element.msReleasePointerCapture() 메서드element.releasePointerCapture() 메서드
msMaxTouchPointsmaxTouchPoints

 

코드에서 포인터 이벤트를 사용하고 Internet Explorer 10과의 호환성을 유지해야 할 경우 다음 대체 패턴을 사용할 수 있습니다.


if(window.PointerEvent) {
    elm.addEventListener("pointerdown", foo);
} else if (window.MSPointerEvent) {
    elm.addEventListener("MSPointerDown", foo);
} else {
    elm.addEventListener("mousedown", foo);
}

동작 업데이트

W3C 포인터 이벤트 사양의 기술적 세부 정보가 변경되었습니다. 포인터 이벤트의 IE11 구현에는 Internet Explorer 10의 최초 구현에 대한 다음과 같은 동작 변경이 포함됩니다.

포인터 이벤트 영역 Internet Explorer 10IE11
pointerenter
pointerleave
지원되지 않음지원됨
PointerEvent.button
PointerEvent.buttons
펜 지우개 단추가 지원되지 않습니다.펜 지우개 단추가 지원됩니다.
PointerEvent.pressure 압력을 지원하지 않는 하드웨어에서 항상 값 0을 반환합니다.압력을 지원하지 않는 하드웨어에서 활성 접촉(예: 마우스 단추 누름)의 경우 값 0.5를 반환하고 그렇지 않으면 0을 반환합니다.
PointerEvent.height
PointerEvent.width
화면 픽셀 단위로 값을 반환합니다.CSS 문서 픽셀 단위로 값을 반환합니다.
click
contextmenu
dblclick
MouseEvent를 디스패치합니다.MouseEvent에서 상속되는 PointerEvent를 디스패치합니다.
PointerEvent.pointerType 정수 값을 반환합니다.문자열 값을 반환합니다.
releasePointerCapture 요소에서 호출하면 현재 캡처가 있는 요소에 대한 지정된 포인터의 캡처를 해제합니다.호출하는 요소에 캡처가 있는 경우에만 setPointerCapture를 사용하여 포인터를 해제합니다.
MSPointerHover 지원됨(화면을 터치하지 않고 펜이 요소 위로 움직일 때 발생함)지원되지 않음(발생하지 않음) pointermove를 사용하고 event.buttons 속성을 검사하여 포인터가 가리키는지 확인합니다. CSS :hover 같이 다른 가리키는 동작은 계속 적용됩니다.
pointermove 펜의 경우 화면을 터치하는 경우에만 발생합니다.가리키는지 여부에 관계없이 모든 펜 움직임에 대해 발생합니다.
pointerEnabled 공급업체 접두사(msPointerEnabled)를 사용하여 지원됩니다.접두사(pointerEnabled) 없이 지원되지만 사용되지 않고, window.PointerEvent 인터페이스가 기능 검색에 대신 사용됩니다.

 

 

 

표시:
© 2014 Microsoft