2012-05-22 16 views
1

我有一個滾動div溢出:自動 我想通過更改scrollTop來滾動它,但在更改它之前,我想查看用戶是否用他的光標「保持」滾動條,我該怎麼做?Javascript告訴滾動div是否被光標「持有」?

+0

這與我的代碼沒有任何關係,我所要求的是一種方法來查明滾動條是否被「持有」。 – Wingblade

+0

有趣的是,我試圖確定當用戶在幾天前點擊div上的滾動條時觸發了什麼事件。我在Chrome v19中一無所獲。沒有一個事件,所以這似乎是一個失敗的原因,除非你有興趣實現一個JavaScript滾動條,如jScrollPane(或類似的東西) – Adam

回答

1

您可以將您的div綁定到事件處理函數,然後使用全局變量。

var IsPressingDiv = false; 

$('#DivID').on({ 

    mousedown: function() { IsPressingDiv = true; }, 
    mouseup: function() { IsPressingDiv = false; } 
}); 

這樣你可以測試,看看鼠標是否被按下的div。我不知道有一種方法來處理通用滾動條上的mousedown,但是如果您需要將事件綁定到滾動條,我會使用jquery滾動條插入或自己創建。

+0

你忘記了關於DivId的引號:-)順便說一句,使用全局變量。總有一個更好的方法。總是。 –

+0

@FlorianMargaine:修正了報價。至於全局變量,這並不總是一個壞主意。只要注意a)其他代碼將在您的頁面中運行,並b)選擇不會相互衝突的名稱。當然,更好的選擇是命名空間代碼。 – frenchie

+0

事情是,在你的例子中很容易避免。只需將您的代碼封裝在一個匿名函數中即可完成。唯一可接受的全局是命名空間,否則,確實:) –

相關問題