Я пытаюсь поймать, когда пользователь нажимает левую кнопку мыши при наведении курсора на ячейки в html-таблице с использованием vanilla javascript. Цель состоит в том, чтобы закрасить ячейку черным, когда пользователь щелкает мышью при перетаскивании (например, рисование, как в MsPaint, когда вы рисуете линию)
Я добавил прослушиватель событий «over» на каждый тд моей таблицы и использовал свойство кнопок, чтобы проверить, нажата ли левая кнопка или нет:
celle = document.getElementsByTagName("td");
for (i=0;i<celle.length;i++)
celle[i].addEventListener("mouseover", function(e){
if(e.buttons == 1 ){
e.target.style.backgroundColor="black";
}
})
Этот код работает, но не всегда и не идеально. Сначала начинается установка цвета фона следующего элемента, а не того, на котором я нажал мышь. Более того, иногда он вообще не устанавливает какого-либо цвета (в окне Chrome есть небольшая иконка, например «Доступ запрещен»). Похоже, что он работает совершенно случайно и непредсказуемо.
Я пробовал также с jQuery, но обнаружил похожие проблемы. Кто-нибудь может мне помочь?
Большое спасибо