iPhone Mobile Safari:强制打开键盘

时间:2010-07-12 09:33:11

标签: jquery iphone ipad mobile safari

这是一个HTML / CSS / JS(jQuery)iPad应用程序。我有一个按钮,可以在输入表格中滑动。我想将用户集中在输入上,然后启动键盘。

这是我正在使用的,但不起作用:

$('#myFormField').focus();

确实关注输入,但无法启动键盘。这是不可能的(出于安全原因或其他原因)?

有没有办法强制或模拟用户点击输入(或其他任何事情)?

5 个答案:

答案 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()自己一次工作一次相比,它每次都有效。