2017-10-28 134 views
2

我試圖獲得點擊錨元素的id。這裏是我的HTML:Angular錨點標籤點擊的元素ID沒有顯示

<div class="list-group col-md-4" *ngFor="let book of bookbook"> 
     <a href="#" class="list-group-item" id={{book.id}} (click)="selectBook($event)"> 
     <img src="{{book.image}}" alt="#"> 
     <p><strong>Price: ${{book.price}} | {{book.id}}</strong></p> 
     <p>{{book.summary}}</p> 
     </a> 
    </div> 

這裏的點擊功能:

selectBook(event){ 
     console.log(event.target.id) 
    } 

任何想法,我做錯了什麼?

回答

3

你可以通過本書

(click)="selectBook(book)" 
+0

現在,爲什麼我沒有想到的,哈哈之前。謝謝!儘管我仍然想知道爲什麼通過事件對象獲取id不起作用。 – ZeroDarkThirty

+0

在'selectBook()'內添加一個斷點,你可以檢查事件對象。更多來自Angular文檔:https://angular.io/guide/user-input#get-user-input-from-the-event-object – stealththeninja

+0

傳遞$ event傳遞MouseEvent對象(鍵入'click'),而不是列表目的 –

3

請不要混淆targetcurrentTarget

event.target屬性包含對事件發生的元素的引用。

理解在捕獲和冒泡階段這個目標不會改變是非常重要的:它總是保持對你單擊的元素的引用。它可以是img,pa你的情況。

要知道哪個HTML元素當前正在處理事件,我們應該使用currentTarget

現在嘗試

selectBook(event){ 
    console.log(event.currentTarget.id) 
} 

又見