我有一个用 AngularJs 开发的应用程序,并且正在使用 iScroll 在列表或网格上创建一个滚动条。当滚动时触摸和拖动几次时,它会触发嵌套元素上的“单击”事件。
我的问题是,如何避免这种情况发生?
$('.foo').on('click', function(e){ ... });
假设列表如下所示:
<div id="iscroll_instance_will_work_here">
<div class="scrollable">
<ul>
<li class="foo"> ... </li>
<li class="foo"> ... </li>
</ul>
</div>
</div>
感谢您的关注!
/ * 更新 ** /
用户 Rob 建议,效果很好,这里有一个例子:
document.addEventListener('touchstart', function(e) {
e.preventDefault();
console.log("touchStart triggered!");
$('html').addClass('isDragging');
}, false);
document.addEventListener('touchend', function(e) {
e.preventDefault();
console.log("touchEnd triggered!");
setTimeout(function(){
$('html').removeClass('isDragging');
}, 200);
}, false);
您可以删除超时!在我的情况下使它更好地工作;)