Похоже, что IE11 на Windows 8.1 не отправляет события мыши с мультитач-прокруткой на точные сенсорные панели, например, на Cover Type для нового Surface Pro 3. Есть ли альтернативное событие, которое я мог бы прослушать? Фактическое событие прокрутки не будет работать, поскольку я эмулирую область прокрутки в своем приложении холста, захватывая входные данные.Нет событий в Mousewheel на Surface Pro 3 с IE11?
ответ
Это ошибка. Пока это не исправлено, нет никакой работы. Я могу подтвердить, что он работает правильно с помощью 2-пальцевой прокрутки на сенсорных панелях Synaptics и колесиках мыши, но не с точными сенсорными планшетами (например, в Cover Type Cover 3, или 4, или в Surface Book). Это только проблема для Microsoft Edge & Internet Explorer. Chrome и Firefox обрабатывают точную сенсорную панель с двумя пальцами, прокручивающуюся точно так же, как и прокрутка с двумя пальцами другого сенсорного планшета.
Here является jsfiddle из кода ниже, чтобы проверить/проверить:
JS:
(function($) {
var $bg = $('.bg'),
$log = $('.log'),
xPos = 0;
// Define wheel event handler:
function onWheelEvent(e) {
// Prevent default behavior of scrolling the web page:
e.preventDefault();
e.stopPropagation();
// Determin the wheel's vertical scroll delta:
var wheelDeltaY = 0;
if ('deltaY' in e) {
if (e.deltaMode === 1) {
wheelDeltaY = ((Math.abs(e.deltaY) < 6) ? e.deltaY * -2 : -e.deltaY) * 20;
} else {
wheelDeltaY = -e.deltaY;
}
} else if ('wheelDeltaY' in e) {
wheelDeltaY = e.wheelDeltaY/120 * 20;
} else if ('wheelDelta' in e) {
wheelDeltaY = e.wheelDelta/120 * 20;
} else if ('detail' in e) {
wheelDeltaY = -e.detail/3 * 20;
} else {
$log.append('<p>unable to determine delta</p>');
}
xPos = xPos + Math.round(wheelDeltaY);
$bg.css('background-position', xPos + 'px 0px');
$log.append('<p>' + e.type + ' event scrolled by ' + wheelDeltaY + 'px. New X position: ' + xPos + '</p>');
$log.scrollTop($log[0].scrollHeight);
};
// Capture wheel events for all browsers
// (I'm not using jQuery's event subscription
// model to show it's not a jQuery problem):
$bg[0].addEventListener('wheel', onWheelEvent, false);
$bg[0].addEventListener('mousewheel', onWheelEvent, false);
$bg[0].addEventListener('DOMMouseScroll', onWheelEvent, false);
})($);
HTML:
<div class="tall">
<!-- Force browser to show scroll bars -->
<div class="bg">
<!--BG image we'll move horizontally -->
<div class="log">
<!--Contain the event log-->
<h3>Scroll with mouse wheel or 2-finger scrolling here</h3>
<p>
Expected behavior: The background image (which is large and may take a minute to load) should shift horizontally when scrolling over the image, even though the page is tall enough to have a browser-created vertical scrollbar.
</p>
<p>
If you scroll the mouse over this image, and the page scrolls vertically (and this text isn't replaced with an event log), it means the event was not captured.
</p>
</div>
</div>
</div>
CSS:
.tall {
height: 2000px;
}
.bg {
width: 100%;
height: 300px;
background-image: url(http://i.imgur.com/DP6K9D8.gif);
background-position: 0px 0px;
background-repeat: repeat;
background-repeat-x: repeat;
background-repeat-y: no-repeat;
background-size: contain;
position: relative;
}
.log {
position: absolute;
top: 10px;
right: 10px;
width: 40%;
padding: 10px;
background-color: rgba(255, 255, 255, 0.85);
color: #555;
max-height: 260px;
overflow: hidden;
font-size: 0.7em;
font-family: arial, sans-serif;
}
Вот отслеживаемая ошибка на веб-сайте Отслеживание ошибок Microsoft Edge (https://developer.microsoft.com/en-us/microsoft-edge/platform/issues/7134034/). Будьте внимательны, чтобы помочь привлечь к этому больше внимания. – BTC
- 1. Указатель событий IE11/Surface
- 2. Медиа-запросы для Microsoft Surface Pro 3 & Surface Pro 4
- 3. Нет событий для MouseWheel в DataGridView
- 4. MonoGame on Surface Pro
- 5. Получить высоту Surface Pro 3 на веб-странице
- 6. Поддерживаются ли приложения Adobe AIR на Surface Pro 3?
- 7. WinRT App для Surface Pro 3 проблема с разрешением
- 8. Можно ли использовать акселерометр Surface Pro 3 через Qt?
- 9. Report Builder 3.0 на Surface Pro 4
- 10. C# Surface Pro 4 Camera
- 11. Surface 3 + Android-эмулятор?
- 12. Приложение Phonegap на Microsoft Surface Pro - параметры автономного хранилища
- 13. Bluetooth api for surface pro 3 windows 8.1
- 14. Включить перетаскивание пользовательского интерфейса jQuery на планшет Surface Pro
- 15. Включен ли SGX на моем Surface 4 pro?
- 16. Windows Phone 8.1 Ошибка эмулятора Windows 8.1 Pro 64-бит - Surface Pro 3
- 17. Может ли OpenCV захватить изображение с камеры Microsoft Surface Pro?
- 18. Android Emulator и AVD не будут работать на Surface Pro
- 19. Kendo Drag & Drop не работает в Chrome на Surface Pro 3
- 20. прослушиватель событий в mousewheel выше iframe
- 21. Холст (Zebra UI) и Internet Explorer 11 с Surface Pro 3 в Windows 8.1
- 22. Eclipse Android Emulator не работает на Microsoft Surface Pro
- 23. Java awt SystemTray - Popmenu слишком мал на Surface 4 Pro
- 24. Дублирование событий в Mousewheel во Flash на XP Firefox
- 25. Request.Browser.Version возвращает 7 для IE на Surface Pro?
- 26. Surface SDK Создание событий касания в коде
- 27. Android Studio на Surface Pro 3: нужно ли устанавливать JDK x86 или X64?
- 28. Удаленная отладка на поверхности Pro 3
- 29. Как отключить поддержку WPF Tablet в Surface 4 Pro?
- 30. Нет Ширина на asp: TextBox на IE11
Вы ищете для [событий касания] (https: // devel oper.mozilla.org/en-US/docs/Web/Guide/Events/Touch_events)? Я был бы удивлен, если событие мыши было запущено, когда кто-то прокручивал страницу другими средствами, кроме колеса мыши (т. Е. Касания или клавиш со стрелками). – ajp15243
Это просто тачпад под клавиатурой, который должен работать так же, как колесо мыши (он работает в Chrome на той же машине). –
Тестировали ли вы, если IE11 использует события касания вместо событий мыши для трекпада? * Технически *, это сенсорный интерфейс, даже если исторические трекпады обрабатываются как мыши, поскольку события JS идут. Разработчики IE/MS, возможно, решили пойти по этому маршруту с помощью Surface trackpads. – ajp15243