>  기사  >  웹 프론트엔드  >  자바스크립트 이벤트 캡쳐 메모(setCapture, CaptureEvents)_javascript 스킬

자바스크립트 이벤트 캡쳐 메모(setCapture, CaptureEvents)_javascript 스킬

WBOY
WBOY원래의
2016-05-16 19:26:211069검색

이 기간 동안 저는 QZone에 대한 Js 드래그 앤 드롭 문제를 연구해 왔습니다. 오늘 나는 갑자기 live.com의 모듈 드래그 앤 드롭이 브라우저 전체에서 실제로 사용될 수 있다는 것을 발견했습니다. mousemove 및 mouseup 이벤트를 브라우저 외부에서 트리거할 수 있는 방법은 무엇입니까? 그래서 전체 라이브 js를 분석한 결과 "이상한 일"을 수행하는 작은 함수라는 것을 발견했습니다.

object.setCapture() 객체가 setCapture인 경우 해당 메소드는 캡처를 위해 전체 문서에 상속됩니다.
문서 전체를 캡처하기 위해 메소드를 상속받을 필요가 없을 때는 object.releaseCapture()를 사용하세요

Mozilla도 비슷한 기능을 갖고 있지만 메소드가 살짝 다릅니다
window.captureEvents(Event .eventType)
window.releaseEvents(Event.eventType)

Event는 Mozilla의 특수 개체입니다.
eventType에는 Abort, Blur, Click, Change, DblClick, DragDrop, Error, Focus, KeyDown, KeyPress, KeyUp , Load, MouseDown
다음 예는 데모용으로 게으르고 Mozilla와 호환되지 않습니다


[Ctrl A 모두 선택 참고: 외부 J를 도입해야 하는 경우 실행하려면 새로 고쳐야 합니다.
]
관련 링크:
IE의 경우
http://msdn.microsoft.com/library/default.asp?url=/workshop/author/dhtml/ reference/methods/setcapture .asp
http://msdn.microsoft.com/library/default.asp?url=/workshop/author/dhtml/reference/methods/releasecapture.asp

Mozilla의 경우
http://developer.mozilla.org/en/docs/DOM:window.captureEvents
http ://developer.org/en/docs/DOM:window.releaseEvents
성명:
본 글의 내용은 네티즌들의 자발적인 기여로 작성되었으며, 저작권은 원저작자에게 있습니다. 본 사이트는 이에 상응하는 법적 책임을 지지 않습니다. 표절이나 침해가 의심되는 콘텐츠를 발견한 경우 admin@php.cn으로 문의하세요.