При вызове event.button для события jQuery mouseup обычно возвращается 0 для щелчка левой кнопкой мыши и 2 для щелчка правой кнопкой мыши.
Однако, если вы нажимаете и удерживаете левый щелчок, а затем щелкаете правой кнопкой мыши, event.button всегда возвращает 2 после отпускания левого щелчка. Это делает невозможным определение того, какой щелчок был отпущен первым, пока не будут отпущены оба щелчка. Та же проблема с event.what.
У кого-нибудь есть обходной путь для этого? Не могу найти никаких сообщений об этой ошибке.
Редактировать: я знаю, как обычно определять, какой ключ выпускается. Проблема в том, что mouseup сообщает неправильные значения. Чтобы воспроизвести эту проблему:
Нажмите и удерживайте левую кнопку мыши. Нажмите и удерживайте правую кнопку мыши. Отпустите левый щелчок. Это вызывает событие mouseup. Вызов event.button Ожидание: 0, Факт: 2
onmouseup
не срабатывает, в противном случае (есть определенная задержка между отпусканием левой мыши и нажатием правой мыши) срабатываетonmouseup
иe.which
возвращает правильное значение. Так что ваша проблема не ясна. - person King King   schedule 21.06.2014