这是一个HTML / CSS / JS(jQuery)的iPad应用程序。我有一个按钮,可以滑下输入表单。我想让用户聚焦在输入上,然后启动键盘。
这就是我正在使用的代码,但无法正常工作:
$('#myFormField').focus();
这确实可以对输入框进行聚焦,但无法启动键盘。这是因为安全原因还是其他什么原因导致的呢?
有没有办法强制或模拟用户点击输入框(或其他任何内容)?
这是一个HTML / CSS / JS(jQuery)的iPad应用程序。我有一个按钮,可以滑下输入表单。我想让用户聚焦在输入上,然后启动键盘。
这就是我正在使用的代码,但无法正常工作:
$('#myFormField').focus();
这确实可以对输入框进行聚焦,但无法启动键盘。这是因为安全原因还是其他什么原因导致的呢?
有没有办法强制或模拟用户点击输入框(或其他任何内容)?
已在Safari iPhone 7和iPhone 6 Plus、Android 4.4上测试过。
当我点击按钮时,它成功地打开了iOS虚拟键盘。
1)创建一个按钮以触发keypress事件 => $('.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);
});
jQuery('#myTextBox').trigger("tapone");
- t q<input id="main" />
<a>Button</a><input onfocus="FocusMain()" />
即时切换焦点:
function FocusMain()
{
$("#main").focus();
}
尝试:
$('#element').blur().focus();
或者如果那不起作用:
$('#element').focus().blur().focus();
blur()可以消除焦点,focus()可以把它带回来。由于某种原因,与focus()自行工作的情况相比,它每次都能正常工作。
$("#element").focus().click();