之前有遇到关于input聚焦的问题,但是一直没总结。今天有时间就整理总结以下。
一. autofocus 在pc/安卓手机上都有效,但是在ios的safari浏览器上不起作用。
因此对于ios手机上input自动聚焦问题,需要特殊处理下。
二.ios手机上,input的focus事件需要通过用户交互才能触发。
当按钮和input框在同一个页面时,可以通过切换display状态,来显示input框,并且让其自动聚焦。如果按钮和input框属于不同的页面,则暂时不知道解决方案。
示例代码:
btn.addEventListener('click',function(){
document.getElementById('input').focus();
});
完整demo代码:
<template>
<div class="pg-test-wrapper">
<button id="showModalBtn">显示input</button>
<div class=" modal-wrapper" v-show="showInput">
<div class="mask" @click.stop="showInput=false