2015-03-21 1 views
-2

Я использую contextmenu, который связан с помощью jquery on. И я заметил, что e.which и e.button всегда 0.Событие контекста jquery всегда возвращает e.which как 0

Есть ли причина для этого?

$("div").on("contextmenu", function(e){ 
    if(e.which) //Always 0 
    //do something 
}); 

Edit: Моя ошибка это происходит только в IE8, я пропустил указать версию браузера.

+2

Что вы ожидали, что это будет? Что ты пытаешься сделать? – charlietfl

+0

'oncontextmenu' может быть поднята либо правой кнопкой мыши, либо кнопкой контекстного меню на клавиатуре. Эффективно есть только одна кнопка, поднимающая событие. Поэтому '0' подходит в этом случае. – Mouser

+2

проверьте этот [Fiddle] (http://jsfiddle.net/arwunqsj), он возвращает '3' для меня на' right click' –

ответ

1

Вы должны идти с mousedown случае, также работает на IE8

$("div").on("mousedown", function(e){ 
    alert(e.which); 
    if(e.which == 3){ 
     //do something 
    } 
}); 

DEMO

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