这是一个HTML / CSS / JS(jQuery)iPad应用程序。我有一个按钮,可以在输入表格中滑动。我想将用户集中在输入上,然后启动键盘。
这是我正在使用的,但不起作用:
$('#myFormField').focus();
确实关注输入,但无法启动键盘。这是不可能的(出于安全原因或其他原因)?
有没有办法强制或模拟用户点击输入(或其他任何事情)?
答案 0 :(得分:4)
也许这些链接可以帮助您:
答案 1 :(得分:3)
在Safari iPhone 7&上测试iPhone 6 Plus,Android 4.4
当我触摸按钮时,它成功打开了iOS虚拟键盘。
1)制作一个按钮来触发按键事件=> $('.btn_abc')
2)制作文本输入标签,并将ID设置为此元素=> $('#search_input')
$( document ).ready(function() {
var focusTextField = function(){
console.log("focusElement");
};
var onKeypressHandler = function(){
console.log("* * * keypress event handler")
$('#search_input').blur().focus();
};
var onClickHandler = function() {
$('.btn_abc').trigger('keypress');
};
$('#search_input').bind('focus', focusTextField);
$('.btn_abc').bind('click', onClickHandler);
$('.btn_abc').bind('keypress', onKeypressHandler);
});
答案 2 :(得分:1)
将该按钮转换为输入字段,然后立即将焦点交换到主输入字段。键盘将打开并保持打开状态。下面是一个使用按钮的示例,在用户点击的按钮上放置一个透明输入字段。在iPhone 4(iOS 6/7)和HTC Windows手机上测试。
您希望用户关注的输入:
<input id="main" />
用户按下的按钮(使用css覆盖输入字段):
<a>Button</a><input onfocus="FocusMain()" />
立即切换焦点:
function FocusMain()
{
$("#main").focus();
}
答案 3 :(得分:-1)
这应该做你想要的:
$("#element").focus().click();
答案 4 :(得分:-1)
尝试:
$('#element').blur().focus();
或者如果不起作用:
$('#element').focus().blur().focus();
blur()消除了焦点,焦点()消除了它。出于某种原因,与focus()自己一次工作一次相比,它每次都有效。