2009-07-22 2 views
0

페이지의 다른 요소가 선택되지 않도록 mousedown 이벤트를 캡처하고 버블 링에서 이벤트를 중지하는 링크 요소가 있습니다. 그러나 firefox (3 & 3.5)에서 DOM 2 이벤트 모델을 사용할 때 여전히 페이지의 다른 요소가 선택됩니다.Firefox DOM2 mouse down 이벤트는 stopPropagation을 사용할 때 요소를 선택합니다.

나는 오페라에서 그것을 테스트했으며 다른 요소를 선택하지 않아도 잘 작동한다. 또 다른 이상한 문제는 DOM 0 이벤트 모델을 사용하면 잘 작동하고 다른 요소를 선택하지 않는다는 것입니다. 파이어 폭스에 버그가 있습니까? 아니면 그냥 잘못하고 있습니까? 여기

내가

past.addEventListener('mousedown', function (e) { 
    e.stopPropagation(); 
    return false; 
}, false); 

past.onmousedown = function (e) { 
    e.stopPropagation(); 
    return false; 
}; 

답변

0

당신이 e.preventDefault()를 시도 테스트하는 데 사용되는이 이벤트 핸들러입니까? stopPropagation은 호출되는 조상 요소의 이벤트 핸들러를 중지하지만 기본 조치가 수행되지 않도록하는 것과 같은 것은 아닙니다. DOM 사양은 마우스 이벤트와 선택이 이벤트 모델의 측면에서 어떻게 상호 작용해야 하는지를 명시하지 않기 때문에 하나의 브라우저가 한 방향으로, 다른 방향으로는 한 방향으로, 다른 방향에서는 "오른쪽"또는 "잘못된".

+0

굉장 :) 너무 쉬워! – Alex

관련 문제