Мы используем iScroll в нашем проекте, а некоторые элементы в его области прокрутки имеют mousedown Событие прилагается.JavaScript - iScroll - mousedown не запускается
На последней сборки Google Chrome (55.0.2883.95 (64-разрядная версия)) событие MouseDown никогда не срабатывает, и причина является pointerdown событие зарегистрировано IScroll.
Есть ли способ обойти его? Я мог бы, конечно, использовать pointerdown вместо mousedown, но он не поддерживается в Safari, поэтому мне нужна грязная проверка браузера.
(function() {
var scroll = new IScroll('#scroller');
document.getElementById('testblock').addEventListener('mousedown', mousedownEventHandler);
function mousedownEventHandler(event) {
console.info(event.type, 'triggered.');
}
})();
body {
padding: 0;
margin: 0;
}
#scroller {
position: absolute;
top: 0;
left: 0;
bottom: 0;
right: 0;
}
#content {
height: 5000px;
background: white;
}
#testblock {
position: fixed;
top: 0;
width: 100px;
height: 100px;
line-height: 100px;
background: silver;
border: 1px solid black;
cursor: pointer;
text-align: center;
}
<script src="https://rawgit.com/cubiq/iscroll/master/build/iscroll-probe.js"></script>
<div id="scroller">
<div id="content">
<div id="testblock">Click me</div>
</div>
</div>
Не знаю, но это действительно не помогает:/ – Clem
Кажется, что кубик имеет обходное решение, пока. Поскольку Chrome 55 добавляет события указателя, и iScroll не поддерживает их правильно. Вам нужно добавить небольшой скрипт в голову как обходной путь ... что ужасно, но есть и другие предложения, которые, похоже, работают и в моих тестах. https://github.com/cubiq/iscroll/issues/1100 – chrismauck
Обновил вашу скрипку с помощью простого параметра ... https://jsfiddle.net/dck8med7/2/ – chrismauck