Проверьте, не нажата ли кнопка мыши при наведении курсора?

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

Ответ 1

Вы можете использовать свойство buttons события, переданного на обратный вызов наведения, чтобы проверить, какие кнопки мыши были нажаты при срабатывании события.

Например, чтобы определить, была ли нажата левая кнопка при вводе элемента с помощью мыши, вы можете использовать:

myElement.addEventListener("mouseover", function(e){
    if(e.buttons == 1 || e.buttons == 3){
        //do some stuff
    }
})

Вот демонстрация этой идеи: http://jsfiddle.net/Ah6pw/

Удерживайте левую кнопку мыши и перемещайте мышь через разные элементы списка.

Ответ 3

Я нашел нечто похожее. Щелчок объектов в некотором пространстве, а затем небольшое взаимодействие. http://mrdoob.github.com/three.js/examples/canvas_interactive_cubes.html (найдите вдохновение в коде)

Также эти ссылки могут быть полезны для вас