我正在尝试在我的 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 的平板电脑上尝试了相同的代码,但我有相同的行为。
有人对此有任何想法吗?
谢谢你。