내 웹 사이트의 일부로 html/javascript에서 내 드래그 앤 드롭 스크립트를 만들고 있습니다. 파이어 폭스에서 시도했을 때를 제외하고는 모두 잘 작동합니다. 일부 디버깅을 수행하고 firefox가 event.target에서 잘못된 대상을 반환한다는 것을 알았습니다. 여기 firefox의 Event.target 문제
코드의 중요한 부분입니다,$(document).bind({
'mousemove' : function(e){
console.log(e);
+ 일부 구문 오류가있을 수 있습니다 있도록
var obj = e.target;
if(obj.className == "sidebarItem"){
dt.root.handleHover(e.target);
}else if(obj.className == "sidebarItemText"){
dt.root.handleHover(e.target.parentNode);
}
(난 그냥 여기에이 코드를 입력 + 더 많은 코드를하지만, 사람들은 어떻게 작동하는지에 대한 아이디어를 얻습니다.)
이 코드는 사용자가 "드래그 가능"인 div를 클릭하면 바인딩되고 마우스 버튼을 다시 놓으면 바인딩 해제됩니다.
모두 잘 작동합니다. IE와 Chrome에서 모두 정상적으로 작동합니다. 여기서 div로 가져갑니다.하지만 firefox event.target에서는 마우스 가까이 있지 않은 div를 반환합니다. 실제로 div 뒤에있는 div입니다. 첫 번째 클릭을 캡처합니다. 상대 위치로 설정됩니다.)
이
은누구든지 내가 잘못 알고 상황
----------
|a | bbbb
|a | bbbb
|a | bbbb
가에서 드래그 된 = 드래그 대상
B = 및 파이어 폭스는 반환도 사업부입니다 이리?
편집 :
난 항상 event.target로 반환 사업부 때문에 오버 플로우-Y의 이상한 행동 것을 발견 : 자동; 내가 그것을 껐을 때 잘 동작하지만 오버플로가 있어야합니다 .. 아직 아무런 단서가이 문제를 해결하는 방법 : <
dt.root 란 무엇입니까? –
아, 모든 기능이 저장되어있는 객체입니다. 중요하지 않습니다. – Jorik