Каков наилучший способ обработки событий touch/pointer на планшете? Я считаю его поведение довольно запутанным. я написал скрипт, который просто установить все обработчик событий, чтобы выяснить, как события запускаются (настройка нативных обработчиков событий, с помощью JQuery для пользовательского интерфейса):Указатель событий IE11/Surface
$.each([
"touchstart","touchmove","touchend",
"mousedown","mousemove","mouseup",
"pointerdown","pointermove","pointerup",
"MSPointerDown","MSPointerMove","MSPointerUp"
], function(i,eventname) {
tester.addEventListener(this, function(e) {
msg(eventname,e);
if ($("#prevent").is(":checked")) {
e.preventDefault();
}
if ($("#stop").is(":checked")) {
e.stopPropagation();
}
if ($("#stopimmediate").is(":checked")) {
e.stopImmediatePropagation();
}
}, false);
});
Использования коврика или настольного компьютера IE11, все нормально , Все три события (мышь, указатель, MSPointer) запускаются в ожидаемом порядке: вниз, перемещаться, вверх.
Но, когда я использую Параметры экрана
- сначала pointermove пожаров, то указатель вниз. На экране вокруг моего пальца появляется прямоугольник.
- повторяющихся события перемещаются обстреливают, а не перемещения пальца
- не стреляя никаких дальнейших событий, когда я двигаю мой палец событие
- pointerend при удалении пальца
Что я делаю неправильно? Вызов preventDefault, stopPropagation или stopImmediatePropagation не изменяет это поведение. Установка css pointer-events: none; отключает все события.
Спасибо, я буду смотреть на него. – Joschi
дайте мне любую обратную связь! –