diff --git a/src/htmx.js b/src/htmx.js index c064c7ab..50f2ab42 100644 --- a/src/htmx.js +++ b/src/htmx.js @@ -58,8 +58,6 @@ return (function () { return "[hx-" + verb + "], [data-hx-" + verb + "]" }).join(", "); - var windowIsScrolling = false // used by initScrollHandler - //==================================================================== // Utilities //==================================================================== @@ -907,12 +905,13 @@ return (function () { elt.addEventListener(triggerSpec.trigger, eventListener); } + var windowIsScrolling = false // used by initScrollHandler + var scrollHandler = null; function initScrollHandler() { - if (!window['htmxScrollHandler']) { - var scrollHandler = function() { + if (!scrollHandler) { + scrollHandler = function() { windowIsScrolling = true }; - window['htmxScrollHandler'] = scrollHandler; window.addEventListener("scroll", scrollHandler) setInterval(function() { if (windowIsScrolling) { diff --git a/test/attributes/hx-trigger.js b/test/attributes/hx-trigger.js index 25431301..ecd86dad 100644 --- a/test/attributes/hx-trigger.js +++ b/test/attributes/hx-trigger.js @@ -290,6 +290,17 @@ describe("hx-trigger attribute", function(){ } finally { htmx.off("htmx:eventFilter:error", handler); } -}) + }) + + it('scrolledInoViewFiresProperty', function(done){ + this.server.respondWith("GET", "/test", "Revealed!"); + var div = make('