2015-08-31 138 views
2

我做了一個可滾動的div,其中我添加了一些內容 如果用戶在此DIV內單擊,我想觸發一個事件。 HTML刪除滾動條上的事件

<div id="mainDiv"> 
    ... some content.. 
</div> 

JS

$(document).mousedown(function(e){ 
    var clickedElemet = $(e.target); 
    if(clickedElemet.is($("#mainDiv"))){ 
     alert("mainDiv clicked"); // alert is getting called if we click on scrollbar 
    } 
}) 

現在的問題是當滾動條,手柄的用戶點擊,事件被炒魷魚。
任何建議如何防止事件,如果用戶點擊滾動條句柄。
請注意,如果我使用CLICK事件,此工作正常。

請注意,我無法更改DOM結構,只能使用mousedown事件。

Demo

+1

我會製作一個外部div,它可以滾動,並且在點擊動作時有一個稍微更薄的div。 – JBux

+0

檢查這個http://stackoverflow.com/questions/10045423/determine-whether-user-clicking-scrollbar-or-content-onclick-for-native-scroll – Raja

+0

其實我不能改變DOM結構。這是主要問題。 :( – Vishu238

回答

0

您需要獲得點擊X position然後檢查單擊X position超出滾動條X position的。

請參閱演示JSFiddle

注意:這在瀏覽器放大和縮小時無法正常工作。