2017-05-24 14 views
0

Ich mag verbindlich das Element mit dem (click) Ereignisse bekommen:Get Element mit angebautem Ereignisbindung in Angular2

<th class="ui-state-default ui-unselectable-text ui-sortable-column" (click)="reorderComponents($event)"> 
    <span class="ui-column-title">Component Name</span> 
    <span class="ui-sortable-column-icon fa fa-fw fa-sort {{compSortIcon}}"></span> 
</th> 

Wie Sie sehen können, ist es das <th> Element. Doch nach einem Klick und das Ereignisobjekt anmelden, es zeigt dies:

enter image description here

enter image description here

ich das <th> Element erhalten mag, aber leider konnte ich nicht eine Lösung noch nicht gefunden.

+1

Warum wollen Sie '' ? – Satpal

+0

@Satpal Ich möchte ein Attribut zu ' 'hinzufügen, also ist es notwendig, dass ich dieses bestimmte Element erhalte, wenn ich darauf klicke. –

+1

Ich denke, Sie möchten eckig als jQuery verwenden. Angular ist anders. Wenn Sie mit HTML-Elementen arbeiten möchten, verwenden Sie Anweisungen. – daremachine

Antwort

0

Ich hoffe, das hilft Ihnen.

reorderComponents(event){ 
    console.log(event.toElement.nodeName) 
} 
4

Verwenden event.currentTarget

reorderComponents(event) { 
    console.log(event.currentTarget); 
} 

es immer zu dem Element bezeichnet, die der Ereignishandler angebracht worden ist, wie es zu event.target gegenüber, die das Element identifiziert, auf dem das Ereignis aufgetreten ist.

Plunker Example

+0

Das hat tatsächlich funktioniert. Es ist komisch, denn wenn ich das Event-Objekt protokolliert habe, ist 'currentTarget' gleich null, aber wenn ich das' event.currentTarget' protokolliere, wird das '' -Element angezeigt. Ich weiß nicht wirklich warum, aber danke! –