我已經注意到了live()
功能的jQuery的一個奇怪的現象:jQuery的生活(「點擊」)進行實彈射擊右鍵單擊
<a href="#" id="normal">normal</a>
<a href="#" id="live">live</a>
$('#normal').click(clickHandler);
$('#live').live('click', clickHandler);
function clickHandler() {
alert("Clicked");
return false;
}
這很好,很正常,直到你的「活」右鍵單擊鏈接並觸發處理程序,然後不顯示上下文菜單。事件處理程序根本不會在「正常」鏈接上觸發(如預期的那樣)。
我已經能夠通過改變處理這一解決它:
function clickHandler(e) {
if (e.button != 0) return true;
// normal handler code here
return false;
}
但是,這真的很煩有將它添加到所有的事件處理程序。有沒有更好的方式讓事件處理程序僅像常規點擊處理程序那樣觸發?
你如何在將來問一個問題? – PetersenDidIt
我很高興看到你的解決方法在這裏,並立即嘗試在我自己的應用程序,雖然我現在右鍵點擊的鏈接可以被捕獲和忽略,我仍然沒有看到我的右鍵單擊上下文菜單上這些。此外,我的鼠標中鍵點擊(在新標籤中打開)也不起作用。但是,至少經理人可以早點回來! – Funka
實際上,如果我反覆快速地右鍵單擊,似乎偶爾會出現上下文菜單....嗯。 – Funka