一千萬個為什麽

搜索

jQuery:關於事件的一個問題

我該如何處理jQuery,以便鼠標事件只在按住鼠標左鍵的情況下處於活動狀態,並且一旦釋放按鈕,mousemove事件就會停止?

最佳答案

在這裏,我綁定mousedown上的 mousemove 事件,並將其解綁到 mouseup 上。我在jQuery中使用了很酷的功能,因此可以將其他mousemove事件添加到此選擇器中,但只有您想要解除綁定的那個事件才會被刪除。他們被稱為命名空間活動

$("#yourdivid").mousedown(function(e){
    if(e.which == 1){
        $(this).bind('mousemove.coolnamespace', function(e){
           //Your mousemove event
        });
    }
}).mouseup(function(e){
    if(e.which == 1) $(this).unbind('mousemove.coolnamespace');
})

Edit: I updated my answer to use the normalized field which. jQuery normalizes this to be 1 = Left, 2 = Middle, 3 = Right. The button value will be different depending on the browser.

轉載註明原文: jQuery:關於事件的一個問題