diff --git a/src/htmx.js b/src/htmx.js index 5b31a35b..f9a86776 100644 --- a/src/htmx.js +++ b/src/htmx.js @@ -1581,7 +1581,7 @@ var htmx = (function() { setInterval(function() { if (windowIsScrolling) { windowIsScrolling = false - forEach(getDocument().querySelectorAll("[hx-trigger='revealed'],[data-hx-trigger='revealed']"), function(elt) { + forEach(getDocument().querySelectorAll("[hx-trigger*='revealed'],[data-hx-trigger*='revealed']"), function(elt) { maybeReveal(elt) }) } diff --git a/test/attributes/hx-trigger.js b/test/attributes/hx-trigger.js index 0a9bbe09..a7003bf0 100644 --- a/test/attributes/hx-trigger.js +++ b/test/attributes/hx-trigger.js @@ -883,6 +883,33 @@ describe('hx-trigger attribute', function() { div.innerHTML.should.equal('test 1') }) + it('revealed can be paired w/ other events', function() { + var requests = 0 + this.server.respondWith('GET', '/test', function(xhr) { + requests++ + xhr.respond(200, {}, 'Requests: ' + requests) + }) + var div = make('
foo
') + div.innerHTML.should.equal('foo') + this.server.respond() + div.innerHTML.should.equal('Requests: 1'); + div.click(); + this.server.respond() + div.innerHTML.should.equal('Requests: 2'); + }) + + it('revealed doesnt cause other events to trigger', function() { + var requests = 0 + this.server.respondWith('GET', '/test', function(xhr) { + requests++ + xhr.respond(200, {}, 'Requests: ' + requests) + }) + var div = make('
foo
') + div.innerHTML.should.equal('foo') + this.server.respondAll() + div.innerHTML.should.equal('foo') + }) + it('fires the htmx:trigger event when an AJAX attribute is specified', function() { var param = 'foo' var handler = htmx.on('htmx:trigger', function(evt) {