成人国产在线小视频_日韩寡妇人妻调教在线播放_色成人www永久在线观看_2018国产精品久久_亚洲欧美高清在线30p_亚洲少妇综合一区_黄色在线播放国产_亚洲另类技巧小说校园_国产主播xx日韩_a级毛片在线免费

資訊專欄INFORMATION COLUMN

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

wawor4827 / 2240人閱讀

摘要:發(fā)現當使用后,等不能輸入內容了。這是由于要監(jiān)聽鼠標事件和觸摸事件來進行滾動,所以禁止了瀏覽器的默認行為。不分青紅皂白,禁止了瀏覽器的一切默認行為,導致上述問題。

做移動平臺的應用,使用iscroll使屏幕上下滑動。發(fā)現當使用iscroll后,input等不能輸入內容了。只要在iscroll.js文件中加入如下代碼就ok了。

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需要一直監(jiān)聽用戶的touch操作,以便靈敏的做出對應效果,所以它把其余的默認事件屏蔽了。

以上代碼原理是:頁面加載完成后查找到所有的"input, select, button"元素并依次綁定"touchstart"或"mousedown"事件,在執(zhí)行事件的時候停止事件的傳播,這樣行了。

使用了iscroll之后,你會發(fā)現點擊輸入框時不靈敏,經常無法聚焦;頁面文字也無法選擇和復制。這是由于iscroll要監(jiān)聽鼠標事件和觸摸事件來進行滾動,所以禁止了瀏覽器的默認行為。
iscroll不分青紅皂白,禁止了瀏覽器的一切默認行為,導致上述問題。所以我們需要稍作修改:

onBeforeScrollStart: function (e) {
var target = e.target;
while (target.nodeType != 1) target = target.parentNode;
if (target.tagName != ‘SELECT’ && target.tagName != ‘INPUT’ && target.tagName != ‘TEXTAREA’)
e.preventDefault();
}, 

文章版權歸作者所有,未經允許請勿轉載,若此文章存在違規(guī)行為,您可以聯(lián)系管理員刪除。

轉載請注明本文地址:http://systransis.cn/yun/81876.html

相關文章

  • 使用iscroll4可能會遇到問題(轉:記錄)

    摘要:只針對,因為的暫時還不支持,會自動選擇不用。原因還是和問題一樣的,因為屏蔽了默認事件。在技術上解決不了的問題,我認為還是多和產品和溝通比較好,共同協(xié)商一個良好的方案。 1.在iscroll4的滾動容器范圍內,點擊input框、select等表單元素時沒有響應這個問題原因在于iscroll需要一直監(jiān)聽用戶的touch操作,以便靈敏的做出對應效果,所以它把其余的默認事件屏蔽了,解決的方法是...

    keelii 評論0 收藏0
  • 使用iscroll4可能會遇到問題(轉:記錄)

    摘要:只針對,因為的暫時還不支持,會自動選擇不用。原因還是和問題一樣的,因為屏蔽了默認事件。在技術上解決不了的問題,我認為還是多和產品和溝通比較好,共同協(xié)商一個良好的方案。 1.在iscroll4的滾動容器范圍內,點擊input框、select等表單元素時沒有響應這個問題原因在于iscroll需要一直監(jiān)聽用戶的touch操作,以便靈敏的做出對應效果,所以它把其余的默認事件屏蔽了,解決的方法是...

    褰辯話 評論0 收藏0
  • 如何用 js 獲取虛擬鍵盤高度?(適用所有平臺)

    摘要:前言這是一個存在很久的歷史問題了,對于這樣一個具有普遍性的問題瀏覽器偏偏沒有給出解決方案,沒有方案還聊個什么別急,別急,接下來我們一起來扒一扒關于軟鍵盤高度和的問題我們先來看一個短片認識一下這個問題問題描述當操作者進行輸入操作的時候,彈起的 前言 這是一個存在很久的歷史問題了,對于這樣一個具有普遍性的問題瀏覽器偏偏沒有給出解決方案,what?沒有方案還聊個什么? 別急,別急,接下來我們...

    terro 評論0 收藏0
  • 如何用 js 獲取虛擬鍵盤高度?(適用所有平臺)

    摘要:前言這是一個存在很久的歷史問題了,對于這樣一個具有普遍性的問題瀏覽器偏偏沒有給出解決方案,沒有方案還聊個什么別急,別急,接下來我們一起來扒一扒關于軟鍵盤高度和的問題我們先來看一個短片認識一下這個問題問題描述當操作者進行輸入操作的時候,彈起的 前言 這是一個存在很久的歷史問題了,對于這樣一個具有普遍性的問題瀏覽器偏偏沒有給出解決方案,what?沒有方案還聊個什么? 別急,別急,接下來我們...

    Forest10 評論0 收藏0

發(fā)表評論

0條評論

最新活動
閱讀需要支付1元查看
<