我想處理點擊特定元素我自己。 因此,如果我用鼠標左鍵單擊它,它將打開當前選項卡中的鏈接,如果我用中間按鈕單擊它,它會在新選項卡中打開它。 我想通過從鏈接獲取href屬性並使用window.open()自己處理點擊鏈接 - jQuery Mousedown
這是甚至可能不會遇到popupblocker問題?
因此,對於初學者,我試圖阻止鏈接的打開。
HTML:
<a href="somelink.php" class="prev_cl"><img src="someimg.png" /></a>
的Javascript:
$(function() {
$('.prev_cl').on('mousedown', function(e){
return false;
});
})
但即使這是行不通的,它仍然打開的鏈接。 如果我在「返回false」之前放置了警報,它實際上不會觸發點擊並顯示警報框。但是每當他們點擊一個鏈接時,誰想要一個警報框?
我也嘗試同時使用鼠標鬆開鼠標按下和事件,但沒有工作,要麼
我想另一件事是把返回虛假元素本身,意思是:
<a href="somelink.php" onclick="return false" class="prev_cl"><img src="someimg.png" /></a>
然後在JavaScript部分我添加了window.open()它
但1)與middlemousebutton點擊仍然工作,並且2)Firefox阻止窗口的打開,因爲它認爲它是一個彈出式窗口
即使這樣的工作,我需要區分(或者它會是不錯的),左鍵點擊之間middleclick。 Afaik這是不可能的'點擊'或我錯了嗎? – Drencrom 2014-09-20 18:15:38
您可以使用'contextmenu'事件來處理右鍵單擊。我仍在研究中間按鈕。 – Barmar 2014-09-20 18:29:22
我沒有中間按鈕的鼠標,所以我不確定我的答案是否真的有效。如果'click'不觸發它,可能需要使用'mousedown'來捕獲中間按鈕。它應該檢查'e.which == 2'的情況。 – Barmar 2014-09-20 18:40:17