Обычно это решается с помощью старого доброго взаимодействия человека с компьютером.Попробуйте использовать стиль кнопки, которая визуально реагирует на события зависания, наклона и наведения мыши.Обычно этого достаточно, чтобы пользователь понял, что двойной щелчок не требуется.У самого Stackoverflow есть отличный пример:
Кнопка ожидания:

Кнопка наведения:

Кнопка Mousedown:

Кнопка мыши:

Но если вы действительно хотите предотвратить нежелательные щелчки, возможно, наилучшим подходом будет отключение кнопок во время действий, а затем, когда вы собираетесь снова включить их, поместите это действие в тайм-аут, чтобыотключенные кнопки прослужат немного дольше.
Еще одно предложение
Вы можете реализовать глобальную функцию для вызова невидимого div
, охватывающего весь экран, когда это необходимо.Это помешало бы работе на экране.
<div style="position:fixed; top:0; left:0; width:100vw; height:100vh; z-index: 10000"></div>
Поместите его в файл макета, обычно app.component.html
, и добавьте *ngIf
, чтобы он отображался только при необходимости.Кроме того, его z-index
должно быть больше, чем z-index
любого другого элемента во всем приложении.