2017-03-03 4 views
1

이 지시어는 애플리케이션의 모든 구성 요소에서 클릭 수를 추적해야합니다. 수행 된 클릭이 있었는지 확인하는 것은 쉽습니다. Renderer의 인스턴스를 삽입하고이를 listenGlobal() 메서드라고하고 클릭이있을 때마다 콘솔에 메시지를 기록했습니다. 다음은 코드입니다.renderer.listenGlobal()을 사용하여 클릭을들을 때 클릭이 수행 된 위치를 추적하는 방법이 있습니까?

export class TrackerDirective { 
    constructor(private _renderer: Renderer) { 
     let listener = this._renderer.listenGlobal("document", "click",() => 
      { 
       console.log("Clicked..."); 
      } 
     ); 
    } 
} 

이제 질문은; 클릭이 실제로 수행 된 요소 (또는 구성 요소)를 추적하는 방법이 있습니까? 나는 이벤트를 추적하기 위해 ElementRef와 @HostListener()를 사용하는 것에 대해 알고 있지만 사용할 수는 없다. 어떤 도움을 주시면 감사하겠습니다. 이벤트 핸들러에 매개 변수를 추가하면 이벤트를 얻을 수 있습니다

답변

0

는 클릭 이벤트에서 얻을 수있는 다른 값도 https://developer.mozilla.org/en/docs/Web/Events/click

export class TrackerDirective { 
    constructor(private _renderer: Renderer) { 
     let listener = this._renderer.listenGlobal("document", "click", (event) => 
      { 
       console.log(event.screenX, event.screenY, event.clientX, event.clientY); 
      } 
     ); 
    } 
} 

참조를 통과했다.

+0

감사합니다. 매력처럼 작동합니다. –