From e28373ec139064bababc0b302aa590cef723fa4c Mon Sep 17 00:00:00 2001 From: Waseem Daher Date: Thu, 4 Oct 2012 14:59:24 -0400 Subject: [PATCH] Properly handle refocusing pointer on both scroll and mousewheel events. When you're at the top of the page, you don't get scroll events anymore if you're scrolling with a mousewheel. So we need to listen to mousewheel as well as scroll. (Why not *just* mousewheel? Because then the scrolling done by PageUp and PageDown no longer causes the pointer to refocus, because those trigger scroll events.) (imported from commit 4ee23004f6e090abaabb836f0a9d7b59d0394ced) --- zephyr/static/js/ui.js | 12 +++++++----- 1 file changed, 7 insertions(+), 5 deletions(-) diff --git a/zephyr/static/js/ui.js b/zephyr/static/js/ui.js index cfe28da8d3..eda25f81e0 100644 --- a/zephyr/static/js/ui.js +++ b/zephyr/static/js/ui.js @@ -114,14 +114,16 @@ $(function () { sub_from_home(compose_class_name(), $('#class-nosub')); }); - var last_mousewheel = 0; - $("#main_div").mousewheel(function () { + var last_mousewheel_or_scroll = 0; + function do_mousewheel_or_scroll () { var time = $.now(); - if (time - last_mousewheel > 50) { + if (time - last_mousewheel_or_scroll > 50) { keep_pointer_in_view(); - last_mousewheel = time; + last_mousewheel_or_scroll = time; } - }); + } + $(window).mousewheel(do_mousewheel_or_scroll); + $(window).scroll(do_mousewheel_or_scroll); $('.button-slide').click(function () { show_compose('class', $("#class"));