Get

2017-04-26 3 views
1

Ich brauche den Klassennamen eines EventTarget, die ich wie folgt erhalten:Get

<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 
} 

Ich mag würde in der Lage sein, eine Variable zu dem Klassennamen zuweisen des Elements, das das Ziel ist. Wenn ich etwas wie getSelection() verwenden würde, könnte ich etwas wie selection.anchorNode.parentElement.className tun. Gibt es eine Möglichkeit, dies in reinem Javascript zu tun? Ich benutze Angular 2 und möchte jQuery vollständig vermeiden.

+1

'event.target.className'? – yurzui

+1

'className' ist keine Eigenschaft von' EventTarget'. https://developer.mozilla.org/en-US/docs/Web/API/EventTarget –

+0

@ J.AdamConnor - Diese Seite sagt "EventTarget ist eine Schnittstelle, die von Objekten implementiert wird, die Ereignisse empfangen können und Listener für sie haben können. Element, Dokument und Fenster sind die häufigsten Ereignisziele "- Elementobjekte haben definitiv eine Eigenschaft' className'. – Quentin

Antwort

3

Um die Typoskript Warnung zum Schweigen zu bringen Sie EventTarget zu Element werfen können und verwenden dann className Eigenschaft

(<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 
 
}