如何在IE上强制window.navigator.pointerEnabled
设置为false?
window.navigator.pointerEnabled = false;
不起作用
我无法触摸该代码,但无论如何都希望在其他情况下使用:
if (window.navigator.pointerEnabled) {
tapEventListener('pointerdown');
tapEventListener('pointerup');
tapEventListener('pointcancel');
tapTouchMoveListener = 'pointermove';
} else if (window.navigator.msPointerEnabled) {
tapEventListener('MSPointerDown');
tapEventListener('MSPointerUp');
tapEventListener('MSPointerCancel');
tapTouchMoveListener = 'MSPointerMove';
} else {
tapEventListener('touchstart');
tapEventListener('touchend');
tapEventListener('touchcancel');
}
最佳答案
这是我设法做到的方式:
Object.defineProperty(navigator.__proto__, 'pointerEnabled', { value: false });
console.log(window.navigator.pointerEnabled);
navigator.pointerEnabled = false
不起作用的原因是该属性是只读的。如果您在控制台中输入,则可以看到它:Object.getOwnPropertyDescriptor(navigator.__proto__, 'pointerEnabled')
并注意
set
成员是undefined
。