0 Replies Latest reply: May 25, 2017 3:27 PM by Alyssa Brouse RSS

    QlikSense grid scrolling on DOMMouseScroll

    Alyssa Brouse

      I have QlikSense mashup with straight tables & pivot tables embedded directly (via Capability API getObject calls).  The page (body) is scrollable, so the entire page scrolls via mousewheel scrolling.  Within other grid controls, when mousing/hovering over them, the grid content will scroll and the body will cease scrolling.  However, when hovering over QlikSense embedded straight- and pivot- tables, the grid does not scroll and the body continues to scroll. 

       

      Previously I've accomplished my desired UX by handling the mousewheel DOMMouseScroll event like so:

       

      var gridTables = $(elem).find('.qv-st-data table, .qv-pt .scroll-content');

      if (gridTables.length > 0) {

            Bind the mousewheel event to grids and pivot grids (st & pt)

            gridTables.bind('mousewheel DOMMouseScroll', function (e) {

            var e0 = e.originalEvent,

            delta = e0.wheelDelta || -e0.detail;

       

            this.scrollTop += (delta < 0 ? 1 : -1) * 30;

            e.preventDefault();

         });

      }


      ($(elem) is the HTML element containing the visualization.  30 for the scrollTop calculation is arbitrary, and just allows me to tweak the scroll sensitivity.)


      This solution no longer works - delta is always 0.  My old solution may simply be a distraction though!  The point is...

      Do you know of a way to allow the user to scroll within the QlikSense visualizations using the mouse wheel, when the HTML body also is scrollable?


      Thanks!