Vue项目中input框focus时不调出键盘问题的解决

目录
  • input框focus时不调出键盘问题
  • 自动获取input焦点(内含ios不能唤起键盘解决方法)
    • 最开始的用法
    • 如果想要解决ios不生效办法

input框focus时不调出键盘问题

在移动端,实现input框获得焦点的同时不会唤起手机键盘。

亲测有效!!!

<input type="text" placeholder="收货地址" v-model="address3" @focus.prevent="showcountF" ref="address" />
 showcountF(){
      this.showcount=true;
       this.$refs.address.setAttribute('readonly', 'readonly');
    },

自动获取input焦点(内含ios不能唤起键盘解决方法)

为了实现自动唤起键盘,再点击写评论之后会出现input框紧接着吊起键盘

最开始的用法

在input出现之后加上

this.$nextTick(() => {
    this.$refs.input.focus()
})

为了页面的其他功能,我在上述代码之后重新调用了加载页面数据的方法,发现该方法不生效了,具体解决办法用延时器

setTimeOut(()=>{
    this.$refs.input.focus()
}, 500)

键盘正常唤起!

ps:延时时间不能过短,因为有页面重新渲染效果,延时时间过短会导致延时不在生效!

最后,该方法在ios中不可用,因为ios为了保护安全,禁止自动获取输入框focus方法!

如果想要解决ios不生效办法

在App的配置文件(config.xml),里面默认会有一句

<preference name="KeyboardDisplayRequiresUserAction" value="true" />

这里面的大概意思就是,键盘的显示需要用户去触发,而且是设置为true的!!!所以只需要把true改为false即可

<preference name="KeyboardDisplayRequiresUserAction" value="false" />

以上为个人经验,希望能给大家一个参考,也希望大家多多支持我们。

(0)

相关推荐

  • vue 表单输入框不支持focus及blur事件的解决方案

    采用指令的方式来解决这个问题(此处的前端框架以mint-ui为例): 1.html引用: v-mtfocus 2.在实例中添加指令 directives: { 'mtfocus' (el, binding, vnode) { let mtinput = el.querySelector('input') mtinput.onfocus = function () { ...//如果要对节点的数据进行更改,且更改要映射到页面上,则更改可在vnode.context上进行,这样,改完之后,改变就会映

  • 详解elementUI中input框无法输入的问题

    最近发现别人项目中在输入密码的时候发现input框无法输入进去 键盘都快敲坏了还是无法输入 通过各种排查.还是无法解决这个问题 后面无意中发现 elementUI中@input事件可以拿到当前的输入的值 问题找到了 视图没有更新的问题 那么怎么解决了 刷新通过this.$forceUpdate() 可以解决这个问题 这样的话这个问题就解决了 原因可能是由于组件嵌套太深(不是很了解为啥出现这个问题有没有大神解释一波 ) 到此这篇关于详解elementUI中input框无法输入的问题的文章就介绍到这

  • 解决vue js IOS H5focus无法自动弹出键盘的问题

    IOS不自动弹出键盘,必须手动触发一下focus才行,不能自动调用,所以需要诱导用户点击某个按钮触发focus,最终修改的方法,默认隐藏密码输入框,隐藏不能用v-if或者是v-show,用position:absolute, top:-1000,然后点击输入密码将top改为视窗内,并且调用focus的方法 代码如下,有问题欢迎评论 <template> <div class="pwdpush-box"> <h4 class="enter-pass

  • Vue项目中input框focus时不调出键盘问题的解决

    目录 input框focus时不调出键盘问题 自动获取input焦点(内含ios不能唤起键盘解决方法) 最开始的用法 如果想要解决ios不生效办法 input框focus时不调出键盘问题 在移动端,实现input框获得焦点的同时不会唤起手机键盘. 亲测有效!!! <input type="text" placeholder="收货地址" v-model="address3" @focus.prevent="showcountF&q

  • VUE项目去除input 框值所有空格的操作方法

    去除空格的方法 str.trim(); //去掉首尾空格 str.replace(" ",""); //去除所有空格,包括首尾.中间 str.replaceAll(" ", ""); //去掉所有空格,包括首尾.中间 str.replaceAll(" +",""); //去掉所有空格,包括首尾.中间 str.replaceAll("\\s*", ""

  • 在vue项目中使用axios发送post请求出现400错误的解决

    目录 使用axios发送post请求出现400错误 出现400状态码主要有两种原因 总结了错误的几个原因 vue axios400 Bad Request问题 使用axios发送post请求出现400错误 出现400状态码主要有两种原因 1.bad request:“错误的请求" 2.invalid hostname:"不存在的域名” 我报的错是第一种bad request 总结了错误的几个原因 1.请求头错误,前端请求头的content-type和后端不一致 axios默认的请求头的

  • vue 项目中使用Loading组件的示例代码

    什么是vue插件? 从功能上说,插件是为Vue添加全局功能的一种机制,比如给Vue添加一个全局组件,全局指令等: 从代码结构上说,插件就是一个必须拥有install方法的对象,这个方法的接收的第一个参数是Vue构造函数,还可以接收一个可选的参数,用于配置插件: var myplugin = { install:function(Vue, options){ ... } } 从意义上来说,正如jQuery的$.fn使jQuery有了一个庞大的生态一样,Vue的插件机制使Vue形成了一个生态系统,你

  • vue项目中使用多选框的实例代码

    <section class="group-con-search newInp" style="margin:10px;"> <el-input v-model="searchCon" placeholder="请输入搜索内容" @keyup.13.native="labelSearch"> <i class="el-icon-search" slot=&q

  • vue项目中做编辑功能传递数据时遇到问题的解决方法

    在项目中完成编辑功能时,遇到了这样一个问题:编辑的功能使用的是一个子组件作为弹出框,如图 这里涉及到从父组件向子组件传递数据的问题,这个项目使用的是v1.0,问题是当点击了编辑以后,弹出的子组件中没有获取到父组件传过来的数据,检查后没有发现代码错误,最后解决的方法就是在父组件中,把传递的数据中的每一项都初始化了一遍就好了 creatIssue (type,list,id){ this.modelIssue=true; this.modeltype=type; if(type=='creat'){

  • vue项目中仿element-ui弹框效果的实例代码

    最近要写个弹框,发现element-ui弹框样式还可以,就copy下来改吧改吧.也不分步骤详细介绍了直接上代码. 在组件目录中新建文件夹message 我把message目录里的东西给大家贴出来 message文件夹 src文件夹 index.js import Message from './src/main.js'; export default Message; mian.js import Vue from 'vue'; import Main from './main.vue'; le

  • vue项目中使用vue-layer弹框插件的方法

    vue-layer弹框插件 安装 npm i --save vue-layer 引用 import layer from 'vue-layer' Vue.prototype.$layer = layer(Vue); 参数说明 { type: 0, //0(信息框,默认)1(页面层)2(iframe层)3(加载层)4(tips层) title: '信息', content: '', area: 'auto', offset: 'auto', icon: -1, btn: '确定', time: 0

  • vue项目中企业微信使用js-sdk时config和agentConfig配置方式详解

    1.如果只使用config配置的相关js接口 可采用如下方式引入 执行 npm weixin-sdk-js --save 局部引入 在vue页面中 import wx from 'weixin-sdk-js'; 全局引入 在vue 的main.js 页面中 引入后编写到vue原型链上,然后全局调用 import wx from "weixin-sdk-js"; Vue.prototype.$wx = wx; 2.如果要使用agentConfig配置的相关接口 一定不要执行npm命令引入

  • vue项目中图片懒加载时出现的问题及解决

    目录 vue图片懒加载的问题 vue图片懒加载实现步骤 vue图片懒加载踩过的坑 今天踩过的坑总结 vue图片懒加载的问题 项目中遇到一个问题,记录一下,vue项目中前期没有做图片懒加载的时候,当图片出现错误或者显示路径不对,我加了onerror事件进行错误监听并添加一张默认的图片,优化用户体验. 后期因为图片数量变多,所以加入了图片懒加载,但在懒加载中挂载时只加了loading的图片,没有加error,所以导致页面图片未正常加载的地方出现默认图片闪烁的现象,最后在挂载时加入error引入一张默

随机推荐