다음 패턴을 사용하여 HTML5 끌어서 놓기 구현을 만들려고합니다.HTML5 드롭 이벤트가 범위와 다른 e.target을 가짐
이 패턴을 사용하면 드롭 처리기에서 클래스의 범위를 유지할 수 있습니다.이 클래스의 다른 모든 속성과 함수를 참조 할 수 있기 때문에 좋습니다.
이el.addEventListener('drop', function(){
console.log(this, e.target)
}, false);
위의 예에서 사실 이것과 e.target는 전혀 다른 DOM 객체가 될 것이다 : 그러나 e.target은 "이"다음 예에서와 같은 DOM 객체를 노출하지 않습니다 밝혀 여기서 "this"는 드래그 가능한 객체 (tr)이고 e.target은 td 요소입니다.
이 문제를 해결하기 위해이 클래스를 구성하는 합리적인 방법이 있습니까?
당신이 원하는 것이 확실하지 않지만 'e.target'은 버블 링 전파의 대상입니다. [다른 이벤트 대상 옵션] (https://developer.mozilla.org/en/DOM/event/Comparison_of_Event_Targets), 특히'event.currentTarget'을 참조하십시오. – katspaugh
안녕하세요 @ katspaugh, 나는 e.target가 버블 링의 대상이됨을 고맙게 생각합니다. 이 경우 e.currentTarget은 실제로 e.target과 동일한 결과를 제공합니다. 내 요점은 이벤트 객체가 결코 당신이 기대할 수있는 드래그 가능한 타겟을 드러내지 않는 것처럼 보인다는 것입니다. – prototype