1.最近用iscroll插件做webApp滑动,出现有卡顿现象,百度原来是浏览器事先不知道是否要实现默认事件,只有到处理函数执行完了才知道,即使是空的执行函数,也会造成卡顿
2.而passive就是用来解决这个问题的,事先告诉浏览器是否要阻止默认事件
document.addEventListener('touchmove', function (e) { e.preventDefault(); }, isPassive() ? {
capture: false,
passive: false
} : false);
function isPassive() {
var supportsPassiveOption = false;
try {
addEventListener("test", null, Object.defineProperty({}, 'passive', {
get: function () {
supportsPassiveOption = true;
}
}));
} catch(e) {}
return supportsPassiveOption;
}