JavaScript - iScroll - 鼠标按下未触发
JavaScript - iScroll - mousedown not triggering
我们在项目中使用了 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>
您需要将点击参数添加到选项对象中。
var scroll = new IScroll('#scroller', {
click: true
});
我们在项目中使用了 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>
您需要将点击参数添加到选项对象中。
var scroll = new IScroll('#scroller', {
click: true
});