Your Privacy Matters: We use our own and third-party cookies to improve your experience on our website. By continuing to use the website we understand that you accept their use. Cookie Policy
925
Windows 8 - IE 10 - Default behaviour for tap-and-hold
posted

Hi,

 

I am developing a tablet solution and want to support IE10 on a Win 8 tablet. I am presenting dashboards using the igDataChart and the interaction for showing the detail behind a data point is to tap-and-hold a data point. After a 750ms delay the details slide down from the top of the screen. This all works well with desktops and iPad, but on IE 10 the tap-and-hold has a behaviour where the chart will zoom in every 500ms or so i.e. keeps jumping to a higher zoom level, which means the tooltip is not displayed.

Any ideas how I can turn off this behaviour for IE10?

My JS code is below:

$('#single-analysis').igDataChart({
                    width: self.vars.paneWidth + 'px',
                    height: (self.vars.paneHeight - 50) + 'px',
                    theme: 'metro',
                    dataSource: (isColAndLine || isScatter || isBubble) ? null : new $.ig.DataSource({ type: 'json', dataSource: data.DataPoints }),
                    axes: chartAxes,
                    series: chartSeries,
                    horizontalZoomable: true,
                    verticalZoomable: true,
                    showTooltips: false,
                    windowResponse: 'immediate',
                    crosshairVisibility: 'hidden',
                    seriesMouseEnter: function(evt, ui) {
                        self.cancelDetailOnDemand(evt);
                    },
                    seriesMouseLeave: function(evt, ui) {
                        self.cancelDetailOnDemand(evt);
                    },
                    seriesMouseMove: function(evt, ui) {
                        var posX = self.vars.positionX,
                            posY = self.vars.positionY,
                            newPosX = ui.positionX,
                            newPosY = ui.positionY;
 
                        console.log('posX: ' + posX + ' newPosX: ' + newPosX + ' posY: ' + posY + ' newPosY: ' + newPosY);
 
                        // Only cancel DoD if position has moved more than 10 pixels
                        if (newPosX > (posX + 20) || newPosX < (posX - 20) || newPosY > (posY + 20) || newPosY < (posY - 20)) {
                            self.cancelDetailOnDemand(evt);
                        } else {
                            preventEventBubble(evt);
                        }
                    },
                    seriesMouseLeftButtonDown: function(evt, ui) {
                        self.seriesMouseLeftButtonDown(evt, ui);
                    },
                    seriesMouseLeftButtonUp: function(evt, ui) {
                        self.cancelDetailOnDemand(evt);
                    }
                });

Regards,

Chris