Проверьте мой jsfiddle demo, если e.which == 1
тогда, когда вы щелкните левой кнопкой мыши h2 он будет e.which == 2
или e.which == 3
тогда не будет работать. 2 - средняя кнопка мыши, а 3 - правая кнопка мыши. Я тоже нашел это:Jquery: обнаружить, если средний или правой кнопки мыши, если это так, то это:
JQuery предоставляет атрибут e.which, возвращающий 1, 2, 3 для левого, среднего и правого кликов соответственно. Таким образом, вы также можете использовать if (e.which == 3) {alert («правый клик»); }
Этот код не работает:
код:
$("h2").live('click', function(e) {
if(e.which == 2) {
e.preventDefault();
alert("middle button");
}
});
Да, я обнаружил, что 'contextmenu' был хороший способ, чтобы переопределить встроенный в меню , Но, возможно, ваша первая функция могла бы включать его вместо того, чтобы вставлять его в конец. Я не уверен, почему он использует live, но я бы использовал '.bind ('mousedown contextmenu', function ...' – Mottie
lol! @fudgey Я также понимаю, почему он использовал live, когда он может использовать window.ready и просто приложите его прямо, но я думаю, что у него должны быть свои причины. Но о том, что он делает, он делает любой код, который он ставит в выражении if, выполняется дважды. – burntblark
на самом деле это всего лишь фрагмент кода, который я копировал, поэтому я не знаю, почему я Я использую .live ... ха-ха, хорошо, поэтому я буду работать с тем, что у меня выше, но вы считали, что что-то лучше? И я буду использовать '.bind ('mousedown contextmenu', function' –