#ag-grid #ag-grid-angular
#ag-grid #ag-grid-angular
Вопрос:
Используя ag-Grid Community и Angular, я установил [enableCellTextSelection]="true"
для включения выделения текста в ячейке, чтобы облегчить копирование-вставку, но я обнаружил, что cellClicked
событие все еще срабатывает, когда текст выделен и кнопка мыши отпущена (т. е. мышь щелкает, перетаскивается и отпускается в той же ячейке).
Есть ли способ определить, что текст выделен в cellClicked
событии, и «отменить / быстро завершить» его?
Я искал способ различать координаты мыши вниз и мыши вверх, но ничего не смог найти…
Спасибо.
Используемая версия
- ag-grid-angular: 23.2.1
- ag-grid-сообщество: 23.2.1
Ответ №1:
Вот небольшой обходной путь, который вы можете использовать. Используйте window.getSelection()
, чтобы получить текст, выбранный пользователем. Исходя из этого, вы можете определить, был ли выделен текст или нет.
Измените cellClicked
функцию обратного вызова на это:
cellClicked(event)
{
if (window.getSelection().type !== 'Range')
{
//text has not been selected, the cell has been clicked
console.log('cellClicked');
}
}
Комментарии:
1. Спасибо! Я бы хотел, чтобы это был «официальный способ ag-grid», но ваш способ, похоже, делает свое дело, если другого не существует 🙂