本文實(shí)例講述了JS輸入用戶(hù)名自動(dòng)顯示郵箱后綴列表的方法。分享給大家供大家參考。具體如下:
以下是代碼,保存到html文件打開(kāi):
原理是:一個(gè)輸入框 當(dāng)我輸入任何字的時(shí)候 自動(dòng)下拉相應(yīng)的郵箱提示,在輸入框輸入11的時(shí)候 下拉框有所有11的郵箱 輸入其他的時(shí)候 有其他文案對(duì)應(yīng)的郵箱。
同理 此插件不需要任何html標(biāo)簽,只需要一個(gè)輸入框 有相對(duì)應(yīng)的class類(lèi)名就ok 且父級(jí)有個(gè)class類(lèi)名,其他的都不需要。內(nèi)部的HTML代碼都是自動(dòng)生成的。
HTML代碼如下:
其實(shí)上面的div標(biāo)簽都可以不需要 只需要在input輸入框 且父級(jí)元素添加一個(gè)如上class(自定義也可以,只是在JS初始化的時(shí)候要傳入class就ok 我默認(rèn)情況下 父級(jí)class叫parentCls,當(dāng)前輸入框class叫inputElem,隱藏域的class叫hiddenCls,在初始化的時(shí)候 直接初始化 傳入空對(duì)象即可!)。因?yàn)轫?yè)面上可能有多個(gè)輸入框 所以需要一個(gè)父級(jí)class 來(lái)區(qū)分是那個(gè)輸入框,當(dāng)然要個(gè)隱藏域 存值給開(kāi)發(fā)后臺(tái)。
其中在配置項(xiàng)里面 有個(gè)郵箱數(shù)組參數(shù) mailArr : ["@qq.com","@qq2.com","@gmail.com","@126.com","@163.com","@hotmail.com","@yahoo.com","@yahoo.com.cn","@live.com","@sohu.com","@sina.com"] 。就是要告訴我們默認(rèn)郵箱有這么多,不管我輸入什么 下拉框初始化時(shí)候有這么多郵箱提示,當(dāng)我精確到某一項(xiàng)的時(shí)候 在給個(gè)提示 精確到某一項(xiàng)下拉。當(dāng)然由于需求的變更 郵箱這個(gè)參數(shù)可以自己初始化時(shí)候 自己根據(jù)需求配置。
實(shí)現(xiàn)的功能如下:
1. 支持鍵盤(pán)上下移鍵盤(pán)操作,支持鼠標(biāo)點(diǎn)擊及按回車(chē)操作。
2. 點(diǎn)擊document時(shí)候 除當(dāng)前input輸入框之外 下拉框隱藏。當(dāng)接著輸入時(shí)候 實(shí)現(xiàn)自動(dòng)匹配等等操作。
具體不多說(shuō) 就是類(lèi)似于網(wǎng)上注冊(cè)時(shí)候 郵箱自動(dòng)提示功能一樣 ,如果有任何bug的話(huà) 可以給我留言,就不羅嗦了!
CSS代碼如下:
emailAutoComplete.js代碼點(diǎn)擊此處本站下載。
希望本文所述對(duì)大家的javascript程序設(shè)計(jì)有所幫助。
新聞熱點(diǎn)
疑難解答
圖片精選
網(wǎng)友關(guān)注