2012-09-13 6 views
1

마우스를 사용하여 물건을 움직일 수있는 자바 스크립트가있어서 마우스를 사용하여 물건을 끌고 드래그 할 수 있습니다. 사용자 클릭 이벤트를 무시할 수 있습니다.자바 스크립트가 사용자 마우스 이벤트를 오버라이드합니다.

그래서 사용자가 항목을 특정 위치로 이동하면 클릭 및 이벤트를 중지하고 싶다는 뜻이며,이 경우 사용자가 이동하여 항목을 다시 선택하고 클릭합니다. 다시 드래그하십시오.

자바 스크립트에서 사용자 마우스 동작을 재정의 할 수 있습니까? 그것은 간단 해 보이지만 내 자바 스크립트에서 mousehold 이벤트를 중지하는 방법을 찾을 수 없습니다.

답변

0

마우스 위치를 저장하기 위해 마우스 좌표를 저장하고 "실제 클릭"이벤트를 onmouseup에 발생 시키려면 onmousedown을 무시하려고 할 수 있습니다. 변경된 경우 (또는 변경 사항이 5 픽셀보다 작 으면). IE에 대한

0
document.getElementById('myElement').addEventListener('click', function(e) { 
    e.preventDefault(); // here is your override 
    doSomethingElse(); // or not 
}); 

똑같은하지만 이벤트를 차단 아마도 대신 대신

0

addEventListenerattachEvent를 사용하여, 당신은이 조건을 확인하도록 onclick 핸들러 내부에 약간의 논리를 넣을 수 있습니다?

예를 들어 상태를 유지하기 위해 몇 가지 속성을 사용할 수 있습니다. 항목을 이동하려면 itemSelectedtrue이어야합니다. 그런 다음 itemSelectedfalse으로 설정하면 다시 토글해야 다시 클릭해야합니다.

관련 문제