use passive for touch events if possible, fixes #3059

This commit is contained in:
j 2017-11-06 07:42:51 +02:00
commit 0a9c30d1dc
2 changed files with 29 additions and 5 deletions

View file

@ -2,6 +2,15 @@
(function(_) {
var noTooltipEvents = {};
var supportsPassive = false;
try {
var opts = Object.defineProperty({}, 'passive', {
get: function() {
supportsPassive = true;
}
});
window.addEventListener("test", null, opts);
} catch (e) {}
/*@
Ox.Element <f> Basic UI element object
@ -128,10 +137,15 @@
.on({
mousedown: onMousedown,
mousewheel: onMousewheel,
touchend: onTouchend,
touchmove: onTouchmove,
touchstart: onTouchstart
//touchend: onTouchend,
//touchmove: onTouchmove,
//touchstart: onTouchstart
});
that.$element[0].addEventListener('touchend', onTouchend, supportsPassive ? { passive: true } : false );
that.$element[0].addEventListener('touchmove', onTouchmove, supportsPassive ? { passive: true } : false );
that.$element[0].addEventListener('touchstart', onTouchstart, supportsPassive ? { passive: true } : false );
that[0] = that.$element[0];
that.length = 1;
that.self = function _self() {