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

Posted web_study

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了移动端 input 输入框实现自带键盘“搜索“功能并修改X相关的知识,希望对你有一定的参考价值。

主要利用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的主要内容,如果未能解决你的问题,请参考以下文章

用户在移动端搜索框输入时即调起键盘上的搜索按钮

移动端 input 获取焦点后弹出带enter(类似于搜索,确定,前往)键盘,以及隐藏系统键盘

移动端 Web 页 input 控制软键盘

移动端 mui框架中input输入框或任何输入框聚焦后页面自动上移

JS移动端如何监听软键盘回车事件

(vue)移动端点击输入框,弹出键盘,底部被顶起问题