将window.navigator.pointerEnabled强制为false

时间:2017-01-25 10:57:35

标签: javascript internet-explorer

如何在IE上强制window.navigator.pointerEnabled为假?

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

1 个答案:

答案 0 :(得分:2)

这就是我设法做到的方式:

Match 1
Full match  `abc aaa
bbb abc ccc
abc ddd eee
fff abc`

Group 1.    `abc`
Group 2.    ` aaa
bbb abc ccc
abc ddd eee
fff abc`

Object.defineProperty(navigator.__proto__, 'pointerEnabled', { value: false }); console.log(window.navigator.pointerEnabled);不起作用的原因是该属性是只读的。如果您进入控制台,则可以看到它:

navigator.pointerEnabled = false

请注意Object.getOwnPropertyDescriptor(navigator.__proto__, 'pointerEnabled') 成员是set