檢查出我的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(「right click」); }
這個代碼不工作:
代碼:
$("h2").live('click', function(e) {
if(e.which == 2) {
e.preventDefault();
alert("middle button");
}
});
是啊,我發現'contextmenu'是覆蓋內置菜單的好方法。但是,也許你的第一個功能可能包括它,而不是最終加以解決。我不確定他爲什麼使用live,但我會使用'.bind('mousedown contextmenu',function ...' – Mottie 2010-10-24 12:24:13
lol!@fudgey我也總結他爲什麼在使用window.ready和just但是我總是有他的理由,但是關於這個問題,它會在if語句中執行兩次任何代碼時使用它。 – burntblark 2010-10-24 13:48:42
實際上它只是我複製的一段代碼,所以我不知道爲什麼我'm使用.live ...哈哈,好的,所以我會與我上面的工作,但你認爲有更好的東西嗎?我將使用'.bind('mousedown contextmenu',函數' – 2010-10-24 14:43:04