使用iScroll時,input等不能輸入內容的解決方法

最近作移動平臺的應用,使用iscroll使屏幕上下滑動。發現當使用iscroll後,input等不能輸入內容了。只要在iscroll.js文件中加入以下代碼就ok了。 spa


function allowFormsInIscroll(){
 [].slice.call(document.querySelectorAll('input, select, button')).forEach(function(el){
 el.addEventListener(('ontouchstart' in window)?'touchstart':'mousedown', function(e){
 e.stopPropagation();
   
 })
 })
 }
 document.addEventListener('DOMContentLoaded', allowFormsInIscroll, false);

 問題緣由是:iscroll須要一直監聽用戶的touch操做,以便靈敏的作出對應效果,因此它把其他的默認事件屏蔽了。 orm


  以上代碼原理是:頁面加載完成後查找到全部的'input, select, button'元素並依次綁定'touchstart'或'mousedown'事件,在執行事件的時候中止事件的傳播,這樣行了。 事件

相關文章
相關標籤/搜索