javascript - 在 Angular2 中获取带有附加事件绑定(bind)的元素

标签 javascript html angular typescript

我想获取带有 (click) 的元素事件绑定(bind):

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

如您所见,它是 <th>元素。但是,单击并记录事件对象后,它会显示以下内容:

enter image description here

enter image description here

我想要<th>元素,但遗憾的是我还找不到解决方案。

最佳答案

使用event.currentTarget

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

它始终引用已附加事件处理程序的元素,而不是标识发生事件的元素的 event.target

<强> Plunker Example

关于javascript - 在 Angular2 中获取带有附加事件绑定(bind)的元素,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/44149279/

相关文章:

javascript - 如何从 JS 中的 HTML 标签元素中仅获取文本节点(而不是嵌套标签)的内容?

javascript - 外部文件中无法识别的 JS 命令

jquery - 使用 Angular 5 中的指令激活省略号时如何激活工具提示?

angular - Jasmine 中的意外 token 'Import' 问题,Protractor With Angular 2 Project with out angular-cli

javascript - 如何?将 PDF 解析为 Javascript 数组?

javascript - 如何知道 Html 元素何时准备好(呈现)?

javascript - 如何在rails中将远程功能与check_box_tag一起使用

ios - 图像在 iOS 上显示为按钮

jquery - <select> 窗口在 <option> 中的选定属性更改后不更新

angular - 单元测试 : How do I mock the innerWidth property on the window object with Angular + Jasmine?