今天在做 微信网页的时候 。
点击列表在手机上无法触发 click事件 ,试了n多写法。还是无法解决,本地测试正常,到手机上就无法执行。
最终测试:
是在列表的外层 使用了
代码A:
listsContainer = new IScroll('#lists-container', {
scrollbars: true,
mouseWheel: true,
vScrollbar: false, // 隐藏垂直方向上的滚动条
// interactiveScrollbars: true,
shrinkScrollbars: 'scale',
bounce: false
});
这个事件是 在 #lists-container 内增加滚动条 也就是超出 显示滚动条的作用。
其实这个作用,完全可以用css来实现,这里为什么用了这个呢?
是因为 document 使用了
代码B:
document.addEventListener('touchmove', function(e) {
e.preventDefault();
}, false);
这句代码是 让元素不在 app 中不能上下滑动。
如果 app 在页面中不能上下滑动(代码B),则,滚动条就无法滑动了,所以加了 iScroll(代码A) 方法来实现,
用了iScroll 方法就不能 写点击事件了。
最终解决方案:
权衡之后最终决定。
去掉上面两句 代码。
改用css去实现 溢出滚动条,click事件正常使用。只不过少了一个,上下滑动的效果,其余的事件正常使用。