昨天碰到一個(gè)奇怪的BUG: 我的頁面上有多個(gè)垂直擺放的select
和input[type="text"]
, 當(dāng)選中某一個(gè)inputA
的時(shí)候, 頁面會(huì)先選中inputA
, 然后莫名其妙地選中在inputA
上下一定距離的inputB
.
最終我猜問題是FastClick導(dǎo)致的, 因?yàn)镕astClick會(huì)觸發(fā)Ghost Click (JS觸發(fā)的Click事件, 以消除300ms延遲), 由于選中inputA
的時(shí)候, 手機(jī)會(huì)彈出鍵盤, 因此導(dǎo)致頁面有微小的滾動(dòng), 這是FastClick的Ghost Click就點(diǎn)擊到了inputA
上下一個(gè)距離的inputB
上, 于是就有了那個(gè)莫名其妙的亂跳BUG.
解決方法是在這個(gè)頁面上取消FastClick即可.
在Github上提了個(gè)Issue