-
-
Save yuryshulaev/fce36d11a1a1adc04d49 to your computer and use it in GitHub Desktop.
| // ==UserScript== | |
| // @name DragScroll | |
| // @include * | |
| // @version 1 | |
| // @grant none | |
| // @require http://ajax.googleapis.com/ajax/libs/jquery/2.1.1/jquery.min.js | |
| // ==/UserScript== | |
| (function ($) { | |
| var dragging = false; | |
| var initialLeft, initialTop, initialX, initialY; | |
| var scrollable = $(window); | |
| var button = 3; | |
| scrollable.contextmenu(function (e) { | |
| return false; | |
| }); | |
| scrollable.mousedown(function (e) { | |
| if (e.which !== button) { | |
| return true; | |
| } | |
| dragging = true; | |
| initialLeft = $(this).scrollLeft(); | |
| initialTop = $(this).scrollTop(); | |
| initialX = e.clientX; | |
| initialY = e.clientY; | |
| return false; | |
| }); | |
| scrollable.mousemove(function (e) { | |
| if (dragging) { | |
| $(this).scrollLeft(initialLeft - (e.clientX - initialX)); | |
| $(this).scrollTop(initialTop - (e.clientY - initialY)); | |
| return false; | |
| } | |
| }); | |
| scrollable.mouseup(function (e) { | |
| if (e.which !== button) { | |
| return true; | |
| } | |
| dragging = false; | |
| return false; | |
| }); | |
| })(jQuery.noConflict(true)); |
Hi. You can change it to use the left mouse button by replacing if (e.which !== 3) { with if (e.which !== 1) { on line 19. To also disable it when Ctrl is being held you can change this line to if (e.which !== 1 || e.ctrlKey) {. You might also want to remove the scrollable.contextmenu part (lines 14 to 16) if you use the left button and don’t want to disable context menus.
I have also used this addon: https://addons.mozilla.org/ru/firefox/addon/scroll_anywhere/ — it has a lot of settings.
Thanks a lot mate. This || e.ctrlKey is what I was looking for.
However, I was already using that scroll anywhere add on on waterfox, but since I switched to pale moon, it didn't work there and greasemonkey seemed like the only solution. But then someone directed to an old repo of old firefox addons and I found a good alternative to it for pale moon.
Thanks a lot again for your reply mate, I appreciate your help and this little gem of script.
Hey yuryshulaev,
This script is amazing. I tried another one on greasemonkey with palemoon and the scrolling speed basically depended on the page. But this one works perfectly out of the box.
Now ... I need your help on how to configure the mouse button used to dragscroll. How can I change it from right button to left button.
Also, is there a disable drag button, like ctrl for example?
Thanks a lot man ... this is some really great work in so few lines.