[英]JavaScript - iScroll - mousedown not triggering
我们在项目中使用iScroll,并且其滚动区域中的某些元素附加了mousedown事件。
在最新版的Google Chrome浏览器( 55.0.2883.95(64位) )上,永远不会触发mousedown事件,原因是IScroll注册了pointerdown事件。
有什么办法解决吗? 我当然可以使用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>
您需要将click参数添加到options对象。
var scroll = new IScroll('#scroller', {
click: true
});
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.