2

我正在尝试在我的 Surface 平板电脑上使用 Internet Explorer 11 的 Pointer API 进行一些实验,但我遇到了一些问题。

我做了一个小提琴来更好地解释(请打开控制台尝试):小提琴

(function() {
    "use strict";

    function onEvent(e) {
        console.log(e.type + ' ' + e.pageX + '/' + e.pageY);
    }

    if (window.PointerEvent) {
        window.addEventListener('pointerdown', onEvent);
        window.addEventListener('pointerup', onEvent);
        window.addEventListener('pointerout', onEvent);
    } else if (window.MSPointerEvent) {
        window.addEventListener('MSPointerDown', onEvent);
        window.addEventListener('MSPointerUp', onEvent);
        window.addEventListener('MSPointerOut', onEvent);
    }
})();

如果您将手指放在 Result 区域上,pointerdown 事件会在您的手指位置在屏幕上时触发。到这里为止,一切都很好。

但是,如果你移动你的手指,pointerout 大部分是在相同的位置触发的,有时在不同的位置,pointerup 永远不会触发。

我在另一台装有 Windows 8.1 和 Internet Explorer 11 的平板电脑上尝试了相同的代码,但我有相同的行为。

有人对此有任何想法吗?

谢谢你。

4

0 回答 0