javascript - 表格单元格上的 Angular 鼠标按下/鼠标悬停

标签 javascript angular typescript

我想突出显示鼠标按下/鼠标悬停行为时的表格单元格。因此,每当我按下鼠标并将鼠标悬停在单元格上时,它就会突出显示。

在这个简单的示例中,有一个小问题:每次单击时,鼠标都会卡在禁用符号上(参见屏幕截图),并且在我执行另一次单击之前,鼠标按下不会触发。

enter image description here

HTML:

<table>
  <tr *ngFor="let rows of groups">
    <td *ngFor="let cell of rows.row" 
        (mousedown)="down(cell)" 
        (mouseover)="over(cell)"
        (mouseup)="up()"
        [class.active]="cell.isChecked"
    ></td>
  </tr>
</table>

TS:

  active: boolean = false

  down(b) {
    this.active = true
    if (this.active)
      b.isChecked = !b.isChecked
  }

  over(b) {
    if (this.active) 
      b.isChecked = !b.isChecked
  }

  up() {
    this.active = false
  }

是鼠标事件问题、浏览器相关还是代码相关?

提前致谢。

最佳答案

该符号必须与拖放功能相关。尝试将以下属性添加到 td 元素。

ondragstart="return false;" ondrop="return false;"

关于javascript - 表格单元格上的 Angular 鼠标按下/鼠标悬停,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/59208873/

相关文章:

javascript - 如何获取动态克隆的表格文本框值?

javascript - Gulp:构建 typescript 项目正在创建权限问题

typescript - 从对象类型创建常量数组类型

javascript - jQuery 的 getScript 方法是否有默认超时?

javascript - 删除具有相同类属性的所有元素但保留一个

java - 将 wakanda IDE 连接到 javascript

javascript - 如何在单独的文件中管理html逻辑

angular - 有没有什么时候我不需要在组件中处理取消订阅的例子?

angular - 在 Angular 2 中将 bool 值从父组件传递给子组件

jquery - 类型 'jqGrid' 的值上不存在属性 'JQuery'