又被坑了之自動跳轉(zhuǎn)

如果選擇用一段話來概括這篇文章缨硝,那可能是這樣的芋簿。

有時候做一個東西的時候潛意識地覺得自己沒做過,不熟悉,然后就立馬打開 Chrome 去搜骏全,然而不巧網(wǎng)上的這方面的答案都隨波逐流走偏了苍柏,看似完美的實現(xiàn)了,實際背后埋藏著很大的坑姜贡,但匆匆一看试吁,這就是你想要的,這時候楼咳,你的思路也就潛移默化地被帶偏了熄捍。

但當你泡好了茶,認真測試的時候母怜,才發(fā)現(xiàn)余耽,我靠,怎么會有個 Bug苹熏,一陣抓狂之后就開始想著怎么填上這個坑宾添,于是一套自己認為可以完美修復并且對用戶友好的方案就出來了,但當你再次準備好一切柜裸,正想怎么去實現(xiàn)它的時候缕陕,無意間隨手又試了試一個自己的想法,剎那間疙挺,什么都不一樣了扛邑,就多想了那么一一點點 才發(fā)現(xiàn)自己很容易就能解決那個問題,根本不用什么自己覺得復雜而且對用戶友好的設(shè)計铐然,最后就剩吐槽網(wǎng)上的答案了蔬崩。

想如果你還感興趣,那就繼續(xù)滑吧搀暑。
想必你應該對這樣一個功能并不陌生沥阳。

自動跳轉(zhuǎn)下一個input

可能你會想說這個問題不是很簡單嗎,沒錯自点,我當時也這樣想桐罕,實際做完后才發(fā)現(xiàn),它是真的簡單桂敛。

大體的思路:對于自動 focus on 下一個輸入框功炮,監(jiān)聽 input 的事件,在用戶輸入滿足校驗條件以及限定的位數(shù)的時候术唬,獲取下一個應該給聚焦的元素薪伏,然后調(diào)用 focus 方法。

然后對于這個需要監(jiān)聽的 input 事件粗仓,想都沒想嫁怀,就打開 Chrome了设捐,連續(xù)看了四五六七八個解決方案,一致地推薦 onKayUp 是個完美的解決方案塘淑。

測試完畢萝招,欣喜,提交朴爬。

然鵝即寒,當我輸完第三個,我想直接回去修改上一個召噩,才發(fā)現(xiàn) Shift tab 根本回不去母赵,如果想硬回,要不上鼠標具滴,要不同時按個 Shift Tab Space 鍵凹嘲。

像這樣:

Shift Tab issue

然后第一反應是去網(wǎng)上試了五六七八個推薦用法的 Demo,原來都有這個問題构韵,What周蹭?這些人都不修的嗎,終于找到一個Shift Tab 可以回去的疲恢,看了下描述凶朗,是用了一個 Toggle 來控制 自動跳轉(zhuǎn)的功能會不會被啟用。

仔細又測了一波显拳,發(fā)現(xiàn) Tab 的時候也有同樣道理的問題棚愤,如果我現(xiàn)在從第一個填到了最后一個,這時候發(fā)現(xiàn)都填的不對杂数,但我就是想從第一個iput 開始修改宛畦,這時候 Shift Tab 是回不去的,無奈揍移,用鼠標點擊了第一個input次和,修改完后,心想跳到第二個應該就可以再改了那伐,然鵝踏施,它直接給我跳轉(zhuǎn)到了第三個。

我在想喧锦,幸好读规,我這只有三個 input需要實現(xiàn)自動跳轉(zhuǎn),如果有七八九十個燃少,那還不得給用戶表演個一系列跳轉(zhuǎn)動畫?

然后铃在,就在這個坑里掙扎阵具,想著要怎么跳出去呢碍遍,是不是需要監(jiān)聽用戶使用了 Shift 還是 Shift Tab 還是鼠標呀,你根本不知道用戶是怎么樣在你的頁面點點點一通的阳液。

冷靜下怕敬,仔細思考下怎么樣才能盡可能地讓用戶收益于這個自動跳轉(zhuǎn)功能,還不會被它帶來的副作用 block 呢帘皿。

于是东跪,就有了這樣一張圖,還和其他同事討論了一下這方案鹰溜,都覺得可行虽填,雖然看著有點略復雜,但這個問題百分百是要修的曹动。


圖片發(fā)自簡書App

當做好所有準備斋日,開始按這樣實現(xiàn)的時候。

想了一個問題墓陈,onKeyUp才是罪魁禍首呀恶守,當Shift Tab 按下的時候,就是因為觸發(fā)了 keyUp 事件贡必,所有根本跳不回去兔港。我為什么不用 onChange?

冷靜了1分鐘仔拟,我為什么不用 onChange衫樊,?竟半天想不出答案理逊。

實錘了一波橡伞,簡直完美。這里有 Demo晋被,感興趣可以點一點兑徘,哈哈。

還想了想這樣用是不是有什么別的坑羡洛,因為百分之九十九的答案都是 onKeyUp挂脑。 但我想說,真的是不對的欲侮,要不是賬號有經(jīng)驗限制崭闲,真想每個都評論一遍問下作者這個問題。

其實一開始真的覺得很浪費時間威蕉,自己干嘛不多想那么一下刁俭,如果一開始沒有去搜,直接用了 onChange韧涨,是不是就根本沒有這個問題牍戚,但換了個思路想侮繁,如果沒有搜,也不會知道網(wǎng)上的這些一模一樣所謂正確的答案原來都是有問題的如孝,那也就不會有坐在這里一字一句地把件事情記錄下來宪哩,讓更多的人意識到這個問題,也提醒自己以后不要犯類似的錯誤第晰。

也許锁孟,這就是生活吧。
少走了彎路茁瘦,也就錯過了風景品抽。

最后編輯于
?著作權(quán)歸作者所有,轉(zhuǎn)載或內(nèi)容合作請聯(lián)系作者
  • 序言:七十年代末,一起剝皮案震驚了整個濱河市腹躁,隨后出現(xiàn)的幾起案子桑包,更是在濱河造成了極大的恐慌,老刑警劉巖纺非,帶你破解...
    沈念sama閱讀 206,013評論 6 481
  • 序言:濱河連續(xù)發(fā)生了三起死亡事件哑了,死亡現(xiàn)場離奇詭異,居然都是意外死亡烧颖,警方通過查閱死者的電腦和手機弱左,發(fā)現(xiàn)死者居然都...
    沈念sama閱讀 88,205評論 2 382
  • 文/潘曉璐 我一進店門,熙熙樓的掌柜王于貴愁眉苦臉地迎上來炕淮,“玉大人拆火,你說我怎么就攤上這事⊥吭玻” “怎么了们镜?”我有些...
    開封第一講書人閱讀 152,370評論 0 342
  • 文/不壞的土叔 我叫張陵,是天一觀的道長润歉。 經(jīng)常有香客問我模狭,道長,這世上最難降的妖魔是什么踩衩? 我笑而不...
    開封第一講書人閱讀 55,168評論 1 278
  • 正文 為了忘掉前任嚼鹉,我火速辦了婚禮,結(jié)果婚禮上驱富,老公的妹妹穿的比我還像新娘锚赤。我一直安慰自己,他們只是感情好褐鸥,可當我...
    茶點故事閱讀 64,153評論 5 371
  • 文/花漫 我一把揭開白布线脚。 她就那樣靜靜地躺著,像睡著了一般。 火紅的嫁衣襯著肌膚如雪酒贬。 梳的紋絲不亂的頭發(fā)上又憨,一...
    開封第一講書人閱讀 48,954評論 1 283
  • 那天翠霍,我揣著相機與錄音锭吨,去河邊找鬼。 笑死寒匙,一個胖子當著我的面吹牛零如,可吹牛的內(nèi)容都是我干的。 我是一名探鬼主播锄弱,決...
    沈念sama閱讀 38,271評論 3 399
  • 文/蒼蘭香墨 我猛地睜開眼考蕾,長吁一口氣:“原來是場噩夢啊……” “哼!你這毒婦竟也來了会宪?” 一聲冷哼從身側(cè)響起肖卧,我...
    開封第一講書人閱讀 36,916評論 0 259
  • 序言:老撾萬榮一對情侶失蹤,失蹤者是張志新(化名)和其女友劉穎掸鹅,沒想到半個月后塞帐,有當?shù)厝嗽跇淞掷锇l(fā)現(xiàn)了一具尸體,經(jīng)...
    沈念sama閱讀 43,382評論 1 300
  • 正文 獨居荒郊野嶺守林人離奇死亡巍沙,尸身上長有42處帶血的膿包…… 初始之章·張勛 以下內(nèi)容為張勛視角 年9月15日...
    茶點故事閱讀 35,877評論 2 323
  • 正文 我和宋清朗相戀三年葵姥,在試婚紗的時候發(fā)現(xiàn)自己被綠了。 大學時的朋友給我發(fā)了我未婚夫和他白月光在一起吃飯的照片句携。...
    茶點故事閱讀 37,989評論 1 333
  • 序言:一個原本活蹦亂跳的男人離奇死亡,死狀恐怖,靈堂內(nèi)的尸體忽然破棺而出隙袁,到底是詐尸還是另有隱情蚪拦,我是刑警寧澤,帶...
    沈念sama閱讀 33,624評論 4 322
  • 正文 年R本政府宣布蠢笋,位于F島的核電站拨齐,受9級特大地震影響,放射性物質(zhì)發(fā)生泄漏挺尿。R本人自食惡果不足惜奏黑,卻給世界環(huán)境...
    茶點故事閱讀 39,209評論 3 307
  • 文/蒙蒙 一、第九天 我趴在偏房一處隱蔽的房頂上張望编矾。 院中可真熱鬧熟史,春花似錦、人聲如沸窄俏。這莊子的主人今日做“春日...
    開封第一講書人閱讀 30,199評論 0 19
  • 文/蒼蘭香墨 我抬頭看了看天上的太陽凹蜈。三九已至限寞,卻和暖如春忍啸,著一層夾襖步出監(jiān)牢的瞬間,已是汗流浹背履植。 一陣腳步聲響...
    開封第一講書人閱讀 31,418評論 1 260
  • 我被黑心中介騙來泰國打工计雌, 沒想到剛下飛機就差點兒被人妖公主榨干…… 1. 我叫王不留,地道東北人玫霎。 一個月前我還...
    沈念sama閱讀 45,401評論 2 352
  • 正文 我出身青樓凿滤,卻偏偏與公主長得像,于是被迫代替她去往敵國和親庶近。 傳聞我的和親對象是個殘疾皇子翁脆,可洞房花燭夜當晚...
    茶點故事閱讀 42,700評論 2 345

推薦閱讀更多精彩內(nèi)容