2014-05-22 4 views
1

나는 fs 함수에 대해 혼란스러워합니다. 나는 내가 함수 매개 변수, 기능 parameter.target를 사용해야 할 때 내가 이해하지 못하는 것을 의미 .FOR 예제 코드 :javascript parameter.target을 사용하는 이유

e.target.addEventListener('mouseout',function handler(d) 
     { 
      var divE=d.target.parentNode.querySelector('div.preview'); 
      divE.parentNode.removeChild(divE); 
      e.target.removeEventListener('mouseout',handler,false); 
     },false); 

왜 사용 e.target와 어느 쪽도 없습니다 전자도 아니야?

+0

'this'는'addEventListener'가 호출 된 요소입니다. 'e.target'은 이벤트가 트리거 된 (자식) 요소입니다. 그들은 동일 할 수도 있고 다를 수도 있습니다. 'e'는 [이벤트 객체] (https://developer.mozilla.org/en-US/docs/Web/API/Event#Properties)입니다. –

답변

1

일반적으로 e.target은 동적 하위 항목 또는 하위 항목이있는 요소에 이벤트 처리기를 위임 할 때 사용됩니다. 위임을 사용하면 이벤트가 자손에서 위로 튀어 나와 있기 때문에 어떤 하위 요소가 이벤트를 트리거했는지 확인하려면 e.target을 확인해야합니다.

위임은 동적 요소가있을 때 사용되지 않습니다. 예를 들어, 모든 이벤트 핸들러가 필요한 많은 요소가있는 경우에도 유용합니다. 이 경우 모든 하위 항목에 이벤트 리스너를 할당하는 대신 상위 요소에 한 번만 위임하는 것이 좋습니다.

this 컨텍스트는 이벤트 수신기가 할당 된 요소이므로 위임을 수행하지 않으면 this을 사용할 수 있습니다.

관련 문제