阻止 HTML5 自动对焦在较小的(移动)屏幕上显示软键盘
Prevent HTML5 autofocus from displaying soft-keyboard on smaller (mobile) screens
使用 HTML5 属性 "autofocus" 对网页来说非常有用。但是,例如,在 Android 设备上使用 Firefox (37.0.1) 会导致在页面加载时显示软键盘。
<input type="text" name="q" autofocus>
软键盘占用了很多 space,因此我想阻止它打开。同时,自动对焦是我们正常拍摄所需要的一个非常有用的功能screens/devices.
我尝试在页面加载时通过 jQuery 删除基于屏幕宽度的 "autofocus" 属性,但是,为时已晚。此时,浏览器显然已经接受了该属性并显示软键盘:
$(function(){
if (window.innerWidth < 600)
$('*[autofocus]').removeAttr('autofocus');
});
有什么建议吗?
试试这个,它可以在桌面上运行,我还没有在移动设备上测试过。删除属性 autofocus
<input type="text" name="q">
和 JS
function setFocus() {
if (window.innerWidth > 600)
$("input[name=q]").focus();
}
$(document).ready(function() {
setFocus();
});
使用 HTML5 属性 "autofocus" 对网页来说非常有用。但是,例如,在 Android 设备上使用 Firefox (37.0.1) 会导致在页面加载时显示软键盘。
<input type="text" name="q" autofocus>
软键盘占用了很多 space,因此我想阻止它打开。同时,自动对焦是我们正常拍摄所需要的一个非常有用的功能screens/devices.
我尝试在页面加载时通过 jQuery 删除基于屏幕宽度的 "autofocus" 属性,但是,为时已晚。此时,浏览器显然已经接受了该属性并显示软键盘:
$(function(){
if (window.innerWidth < 600)
$('*[autofocus]').removeAttr('autofocus');
});
有什么建议吗?
试试这个,它可以在桌面上运行,我还没有在移动设备上测试过。删除属性 autofocus
<input type="text" name="q">
和 JS
function setFocus() {
if (window.innerWidth > 600)
$("input[name=q]").focus();
}
$(document).ready(function() {
setFocus();
});