Ag-grid:使用enableCellTextSelection并选择了文本时,如何禁用单元格单击事件?

问题描述

使用ag-Grid社区和Angular,我设置了[enableCellTextSelection]="true"来启用单元格文本选择以方便复制粘贴,但是我发现cellClicked事件在选择文本和鼠标按钮时仍然会触发释放(,在同一单元格中单击,拖动并释放鼠标)。

是否可以检测到在cellClicked事件中选择了文本并“取消/快速退出”了?

我正在寻找一种方法来区分鼠标向下和鼠标向上的坐标,但是找不到任何东西...

谢谢。


正在使用的版本

  • ag-grid-angular:23.2.1
  • ag-grid-community:23.2.1

解决方法

您可以使用以下解决方法。使用window.getSelection()获取用户选择的文本。由此,您可以确定是否已选择文本。

将您的cellClicked回调函数更改为此:

cellClicked(event)
    {
      if (window.getSelection().type !== 'Range')
      {
        //text has not been selected,the cell has been clicked
        console.log('cellClicked');
      }
    }

Demo