我想獲得一個鼠標懸停事件的表格的行元素。問題是事件目標是光標下的td元素,而不是行元素本身。到目前爲止,這與角度無關。這是一個DOM的東西。 這裏是我的組件:Angular2 - 當事件發射器不是事件目標時該怎麼辦?
@Component({
//....
template: `
<tr *ngFor="#row of rows;" (mouseover)="onRowHover($event)">
<td *ngFor="#cell of row.cells">{{cell.value}}</td>
</tr>`
})
export class Table {
private onRowHover(event) {
console.log("hover", event.target); //will print "hover <td>"
}
}
爲了解決這個問題,我通常用「這個」得到的行,這將是該行的元素:
<tr onmouseover="console.log("hover", this)"> <!-- Will print "hover <row>" -->
所以現在的問題是:我該怎麼辦訪問'this'或Angular2中的行元素?有沒有像這樣的:
<tr ... (mouseover)="onRowHover($event, $this)" >
我現在的解決方法是獲取適當的tr元素event.target的父項。
這給了我的行數據的上下文而不是TR DOM元素 – seraph
請閱讀問題。問題是,事件目標不是行,但td元素 – seraph