ЯШ: Есть ли способ сделать ячейку в сетке недоступной для нажатия? - PullRequest
0 голосов
/ 02 марта 2019

Так что я в основном делаю сетку, где один щелчок - это круг, а двойной щелчок - это квадрат.Однако, если я вернусь к уже нажатому блоку и сделаю один или двойной щелчок, он изменит форму в нем.Есть ли способ сделать уже кликабельное поле недоступным для клика?

Вот мой текущий код

Ответы [ 3 ]

0 голосов
/ 02 марта 2019

Просто добавьте переменную после клика и используйте это

if (isClicked = 1){ 
$(this).unbind("click");
}  

или используйте ванильный js как этот

document.getElementById("myElement").onclick = function() { return false; } 
0 голосов
/ 02 марта 2019

Это должно работать

https://codesandbox.io/s/vn96m0o6l

Проблема заключается в том, что двойной щелчок все еще является щелчком.Таким образом, сначала запускается обработчик кликов, чем двойной кликВот почему я установил тайм-аут 200 мс для обработчика кликов.

Обработчик двойного щелчка также передает флаг isDoubleClick, чтобы обработчик знал, что делать.И в зависимости от этого обработчик и класс, который еще не существует, решает, какое действие предпринять.Когда активируется обработчик клика, элемент уже имеет класс и просто игнорирует его.

Может быть лучше, но исправит проблему

0 голосов
/ 02 марта 2019

Я считаю, что установка свойства CSS указатель-события на «none» должна работать.

pointer-events: none;
...