码迷,mamicode.com
首页 > 移动开发 > 详细

移动端 input 输入框实现自带键盘“搜索“功能并修改X

时间:2018-03-31 13:18:06      阅读:904      评论:0      收藏:0      [点我收藏+]

标签:ack   出现   his   enter   eve   radius   col   UNC   pre   

主要利用html5的,input[type=search]属性来实现,此时input和type=text外观和功能没啥区别;

html代码入下:

<form action="" id="myform">
<input type="search" id="input" value="" placeholder="快速搜索" results="5" />
</form>

但要实现点击键盘右下角搜索,来发送请求,js代码如下(以下代码段记得引入jquery):

//方法一
$("#myform").on(‘keypress‘, function(e) {
    var keycode = e.keyCode;
    var searchName = $(this).val();
  //keycode是键码,13也是电脑物理键盘的 enter
if(keycode == ‘13‘) { alert(2) e.preventDefault(); //请求搜索接口 } }); //方法二 //这两种都能用, 一个是在form上加id 一个是在input元素加id //对于苹果手机添加一个form元素是必要的,否则只能实现功能但是键盘的文字不能变成搜索字样 $(‘#myform‘).bind(‘search‘, function () { //coding alert(1); }); /*$(‘#input‘).bind(‘search‘, function () { alert(1); });*/

需要注意的是,input[type=search],在用户输入时,默认情况下会自动在输入框最右侧出现一个 ‘X’,是为了方便用户点击清除所输入的内容,但是这个 X 的默认样式却可能机型不一样而不同,有的是默认一个蓝色的X,很不美观,

我们往往需要修改这个X或者直接去掉它,应该怎么实现呢?答案很简单,只要一个CSS属性即可,代码如下:

 input[type=search]::-webkit-search-cancel-button{
    -webkit-appearance: none;/*此处只是去掉默认的小×*/
}
只要通过 -webkit-search-cancel-button这个属性即可实现去除,去除后我们可以自定义样式;
input[type=search]::-webkit-search-cancel-button{
    -webkit-appearance: none;

    position: relative;
    height: 20px;
    width: 20px;
    border-radius: 50%;
    background-color: #EBEBEB;
}

input[type=search]::-webkit-search-cancel-button:after{
    position: absolute;
    content: ‘x‘;
    left: 25%;
    top: -12%;
    font-size: 20px;
    color: #fff;
}

 



 

移动端 input 输入框实现自带键盘“搜索“功能并修改X

标签:ack   出现   his   enter   eve   radius   col   UNC   pre   

原文地址:https://www.cnblogs.com/web-wjg/p/8681383.html

(0)
(0)
   
举报
评论 一句话评论(0
登录后才能评论!
© 2014 mamicode.com 版权所有  联系我们:gaon5@hotmail.com
迷上了代码!