2012-10-24 58 views
2

你會怎麼做的JavaScript/jQuery的?先進的右鍵單擊功能 - 點擊並按住,顯示按鈕,在發佈點擊什麼是懸停

我目前有right-click + hold顯示一個div,然後它在右鍵單擊發布時消失。不過,我想單擊右鍵釋放鼠標的任何按鈕。

這是我到目前爲止有:

// Cancel out the default context menu 
$('body').on('contextmenu', function(){ 
    return false; 
}); 

$("body").on('mousedown', function(event){ 
    // If it's not a right click, return 
    if (event.which != 3) 
     return; 

    // Set div coordinates to clicked point 
    $('div').css({ 
     'top': event.pageY, 
     'left': event.pageX 
    }); 

    $('div').show(); 
});  

$("body").on('mouseup', function(event){ 
    // If it's not a right click, return 
    if (event.which != 3) 
     return; 

    $('div').hide(); 
}); 
+0

不要忘記'mouseout',以防止用戶按住右鍵單擊,但將光標移到瀏覽器窗口之外,然後放開按鈕。 (它會和'mouseup'一樣在你的情況下,我想。 – Ian

+0

你是絕對正確的,謝謝你的提醒! –

回答

1

嘗試mouseup事件處理程序連接到按鈕。

+0

我最初試過這個,沒有在我的應用程序運氣。但我的問題不是事件,它是元素的z索引!我試圖懸停的元素的z-index比它後面的背景更低,所以沒有點擊事件被註冊,假設z-index是正確的,這是正確的回答我問的問題。 –