欲實現一個文字搜索的功能,要求輸入時,鍵盤迴車按鈕提示顯示爲「搜索」。效果以下:
html
開始~html5
input type=text並不能達到這種效果,google了一下,html5 增長的type=search能夠作到(但須要input type=search外面包上一層帶action屬性的form)。ios
<div class="search-input-wrap clearfix"> <div class="form-input-wrap f-l"> <form action="" class="input-kw-form"> <input type="search" autocomplete="off" name="baike-search" placeholder="請輸入關鍵詞" class="input-kw"> </form> <i class="iconfont if-message"></i> <i class="iconfont if-close"></i> </div> <i class="search-cancel f-l">取消</i> </div>
但type=search會有許多默認樣式和行爲,此次開發遇到的有:web
會默認下拉框顯示搜索歷史記錄;
ajax
輸入時自動彈出「x」,「x」的樣式在不一樣手機上,樣式不一樣;
app
IOS 手機(測試時爲iphone6 ios10)上輸入框爲橢圓形.
iphone
但咱們但願樣式按照咱們自定義的樣式顯示,而且各個手機上能統一。測試
因而幾經google,獲得答案:google
設置input autocomplete="off"去掉彈出的下拉框;spa
將默認的「x」隱藏掉:
input[type="search"]::-webkit-search-cancel-button{ display: none; }
針對ios 設置樣式, 去除ios下input 橢圓形:
-webkit-appearance: none;
同時別忘記,若是提交搜索時想使用ajax,那麼能夠阻止表單的默認行爲:
container.on('submit', '.input-kw-form', function(event){ event.preventDefault(); })