回到主页

ios safari js自动获取focus

· safari,前端开发

方案一:通过控制控件的样式来触发

触发同页面下Input的focus


                        < Input
                            placeholder="请输入班级名称"
                            disableUnderline
                            value={classListQuery.clName}
                            onChange={updateValue}
                            id="classSearch"
                        / >

通过点击事件,根据id获取Input的focus


        document.getElementById('classSearchToolbar').style.display = 'block';
        document.getElementById('classSearch').focus(); 

方案一有很大的局限性,比如无法定位到正在加载中或者其他页面中的组件

方案二:通过一个按钮来转载点击事件

触发一个即将打开Dialog的TextField的focus


            < TextField
                    id="multiline-static"
                    multiline
                    rows="10"
                    margin="normal"
                    placeholder="请输入您要填写的信息"
                    onChange={updateValue}
                    fullWidth
                    value={currentValue}
                / >

通过点击动作,延迟触发一个Dialog里按钮的点击事件


        setTimeout(function(){
            document.getElementById('multilineStaticAdpBtn').click();
        }, 800);

响应按钮的点击事件,获取TextField的focus。通过填充的方式,将光标定位在内容最后。

参考资料