欲实现一个文字搜索的功能,要求输入时,键盘回车按钮提示显示为“搜索”。效果以下: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(); })