2017-04-26 49 views
1

我需要一個EventTarget的類名,其中我得到這樣的:從目標的MouseEvent獲取元素的類名

<div class="orig-post" (mousemove)="onMouseMove($event)"></div> 

onMouseMove(event: MouseEvent): void { 
    this.target = event.target 
    console.log(this.target) // Outputs the element the mouse is currently over 
} 

我希望能夠給一個變量定義的類名作爲目標的元素。如果我使用像getSelection()這樣的東西,我可以做一些類似selection.anchorNode.parentElement.className的事情。有沒有辦法在純JavaScript中做到這一點?我正在使用Angular 2,並希望完全避免使用jQuery。

+1

'event.target.className'? – yurzui

+1

'className'不是'EventTarget'的一個屬性。 https://developer.mozilla.org/en-US/docs/Web/API/EventTarget –

+0

@ J.AdamConnor - 該頁面顯示「EventTarget是由可以接收事件並可能有偵聽器的對象實現的接口。」 元素,文檔和窗口是最常見的事件目標「 - 元素對象絕對具有'className'屬性。 – Quentin

回答

3

以沉默的打字稿警告你可以投EventTargetElement然後用className財產

(<Element>event.target).className 
0

<div class="orig-post" (mousemove)="onMouseMove($event.target.value)"></div> 
 

 
onMouseMove(event: MouseEvent): void { 
 
    this.target = event.target 
 
    console.log(this.target) // Outputs the element the mouse is currently over 
 
}