如果调用输入上的focus(),则iOS Safari会在点击时显示元素。如何延迟焦点事件?

时间:2014-10-29 18:03:13

标签: javascript ios mobile-safari

iOS Safari(AFAIK)不允许将注意力设置为setTimeout来电中的输入。仅在直接单击事件处理程序中。问题是这会导致绘制输入的延迟(之前隐藏)。如何让它绘制输入然后聚焦(并拉起键盘)?

示例:

searchButton.addEventListener( "click", function() {
    myInput.className = "showing"; //This tries to show the input
    myInput.focus(); //This pulls the keyboard but delays drawing the input
});

如果我将focus事件放入setTimeout调用,则永远不会执行。有什么选择吗?

以下是演示:http://jsfiddle.net/vektgn3j/1/embedded/result/(点击放大镜)

0 个答案:

没有答案