我会说在拖动滚动条时向每个锚点附加一个类。例如,在拖动时向每个锚点附加“拖动”类名称,然后在拖动停止时删除该类。
这意味着您可以将 PreventDefault 添加到任何具有“拖动”类的链接。大致如下:
myScroll1 = new iScroll('scroll1', {
snap: 'li',
momentum: false,
hScrollbar: false,
onScrollStart: function () {
$('div#iscroll1 a').addClass("dragging");
},
onScrollEnd: function () {
$('div#iscroll1 a').removeClass("dragging");
document.querySelector('.indicator > li.active').className = '';
document.querySelector('.indicator > li:nth-child(' + (this.currPageX+1) + ')').className = 'active';
}
});
$('.dragging').click(function (e) {
e.preventDefault();
}
Run Code Online (Sandbox Code Playgroud)
然而,这是未经测试的代码,因此您可能需要优化选择器。