我正在使用iScroll进行移动聊天,ios或android版本。
但是我无法滚动窗口,确实它就像被阻挡了一样,我对屏幕无能为力。
我尝试使用我的iphone,但我无法做任何事情,我阅读了一些关于此的文档,但我还不知道我必须做出哪些修改。
请参阅下面的代码,谢谢您的任何想法。
<script type="text/javascript">
var myScroll;
var showkey =true;
function loaded () {
myScroll = new IScroll('#contenu', {
tap:true,
desktopCompatibility: true,
onBeforeScrollStart: function (e) {
var nodeType = e.explicitOriginalTarget ? e.explicitOriginalTarget.nodeName.toLowerCase():(e.target ? e.target.nodeName.toLowerCase():'');
if(nodeType !='select' && nodeType !='option' && nodeType !='input' && nodeType!='textarea' && !showkey) {
e.preventDefault(); //prevents showing keyboard - scrolling
}//otherwise, show keyboard, do default
if(!showkey) showkey = true;
},
});
$('a, input, #sendmsg, .ml_tabs').on('touchstart', function(e) {
e.stopPropagation();
});
}
document.addEventListener('touchmove', function (e) { e.preventDefault(); }, false);
document.addEventListener('DOMContentLoaded', function () { setTimeout(iScrollLoad, 200); }, false);
</script>
答案 0 :(得分:0)
请提供一个jsfiddle。
仅供注意:添加此行代码$('a, input, #sendmsg, .ml_tabs').on('touchstart', function(e) {
e.stopPropagation();
});
如果您尝试在<a>
代码或<input>
上开始触摸移动事件,那么您将阻止任何事情发生。
你应该知道的是,iScroll不喜欢CSS中的overflow
属性。将overflow: hidden !important;
设置为容器是一件好事,你想滚动。
当initializnig iScroll使用preventDefault: false //do not prevent a possible click - we'll take care of it
myScroll = new IScroll('#wrapper', {
preventDefault: false
});