2017-10-26 9 views
0

사용자가 특히 가로 스크롤 막대 또는 세로 스크롤 막대를 클릭했는지 여부를 결정하는 방법이 있습니까 (사용자가 드래그하는지 여부도 고려함) . 이 정보를 사용하여 내 웹 페이지에서 특정 작업을 수행 할 수 있기를 원합니다.내 웹 페이지에서 수직 또는 수평 스크롤 막대가 클릭 된 위치 결정

+0

에 오신 것을 환영합니다. 스크롤바에서 클릭 이벤트를 감지하려는 경우 또는 스크롤 막대를 이동 한 경우 명확하게 설명하십시오. – Twisty

답변

0

FireFox의 빠른 테스트는 브라우저 자체에서 생성 된 스크롤 막대가 렌더링 된 HTML 또는 DOM의 일부가 아닙니다.

https://jsfiddle.net/Twisty/4ow21vp6/

$(function() { 
    $("*").click(function(e) { 
    console.log(e.target); 
    }).scroll(function(e) { 
    console.log(e.target); 
    }); 
}); 

그래서 당신은 클릭 이벤트가 트리거되지 않는 것을 볼 수 있습니다. 스크롤 바를 검사하기 위해 오른쪽 클릭을 허용하지도 않습니다. 따라서 이들에 대한 '클릭'을 탐지하는 것은 불가능합니다. 다른 이벤트가 도움이 될 수 있습니다.

0

스크롤 이벤트를 사용하여 스크롤 막대의 움직임을 감지하고 사용자가 위/아래/왼쪽/오른쪽으로 이동하는지 확인할 수 있습니다. 스택 오버플로

var lastScrollTop = 0; 
 
var lastScrollLeft = 0; 
 
$(window).scroll(function(event){ 
 
    var st = $(this).scrollTop(); 
 
    if (st > lastScrollTop){ 
 
     // downscroll code 
 
    } else { 
 
     // upscroll code 
 
    } 
 
    lastScrollTop = st; 
 
    
 
    var documentScrollLeft = $(this).scrollLeft(); 
 
    if (documentScrollLeft>lastScrollLeft){ 
 
     // scroll right code 
 
    }else{ 
 
     // scroll left code 
 
    } 
 
});