問題描述:
用MUI例子中的選項卡,底部的導航只能實現div切換,鏈接無法跳轉。
查看控制台,輸出:Unable to preventDefault inside passive event listener due to target 的警告。

問題解決:
經檢查相關資料,加入以下代碼,即可解決問題。
mui('body').on('tap','a',function(){document.location.href=this.href;});
問題原因:
MUI在選項卡中的文字中已說明:
通過DIV模擬一個獨立頁面,通過DIV的顯示、隱藏模擬不同頁面的切換,典型的SPA模式;
所以默認的選項卡只適用於頁面內多個div切換顯示,如要做頁面跳轉,則需要加javaScript代碼修改瀏覽器地址。
手機版加入代碼:
mui('body').on('tap','a',function(){document.location.href=this.href;});
電腦版加入代碼:
mui('body').on('click','a',function(){document.location.href=this.href;});
引申:
為什么手機中要用trap,而不和電腦一樣的click事件。
首先兩者都會在點擊時觸發,但是在手機web端,click會有 200~300 ms,所以請用tap代替click作為點擊事件。但在本次問題中,在手機web端使用click,也能實現跳轉,並無影響
