2017-01-25 30 views
1

如何在IE上強制window.navigator.pointerEnabled爲false?強制window.navigator.pointerEnabled爲false

window.navigator.pointerEnabled = false; 

不起作用。

我不能碰那個代碼,但希望是在其他情況下,anycase:

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'); 
} 

回答

2

這是我成功地做到這一點:

Object.defineProperty(navigator.__proto__, 'pointerEnabled', { value: false }); 
 

 
console.log(window.navigator.pointerEnabled);

navigator.pointerEnabled = false不能正常工作的原因是屬性是隻讀的。你可以看到它,如果你在控制檯輸入:

Object.getOwnPropertyDescriptor(navigator.__proto__, 'pointerEnabled') 

並注意setundefined

相關問題