2016-12-21 4 views
2

Я новичок в обработке событий JavaScript, я хотел бы вызвать событие на mousemove и щелкнуть левой кнопкой мыши по элементу div. Моя текущая реализация - проверить, что e.which == 1, когда я запускаю функцию события mousemove. Однако я прочитал, что свойство e.which теперь устарело (https://developer.mozilla.org/en-US/docs/Web/API/KeyboardEvent/which). Мой код:Есть ли альтернатива устаревшим e.which в JavaScript?

div.addEventListener("mousemove", myEventFunction) 

function myEventFunction(e){ 
    if (e.which == 1){ 
     //do something 
    } 

} 

Есть ли альтернатива для выполнения этой операции?

+1

@KevinKloet Nopes. Это для событий клавиатуры. Для мыши это 'кнопка'. Кроме того, «keycode» устарел. –

+1

не видел события мыши, мой плохой –

+0

Несомненно .. Не беспокойтесь. @KevinKloet –

ответ

3

Вы можете использовать event.button, если это будет событие мыши.

Свойство MouseEvent.button, доступное только для чтения, указывает, какая кнопка была нажата на мышь, чтобы вызвать событие.

function myEventFunction(e) { 
    e = e || window.event; 
    if ("buttons" in e) { 
     return button; 
    } 
    var button = e.which || e.button; 
    return button; 
} 

выше функция возвращает значение button.

+1

e.buttons работает для меня! Большое вам спасибо за быстрый ответ. – DavNej

+0

@DavNej Не забудьте принять мой ответ, нажав на кнопку выбора рядом с моим ответом через 10 минут. Также обратите внимание, кнопки отличаются от кнопки. –

+1

Да, я заметил разницу между ними. Еще раз спасибо. – DavNej

 Смежные вопросы

  • Нет связанных вопросов^_^