【发布时间】:2014-08-29 02:07:57
【问题描述】:
我有一部分代码,我在其中动态创建新元素并使它们具有焦点。
代码比较复杂,但是这里是reproducible part on jsfiddle(当你点击输入时,下一个元素被创建,然后焦点被分配给它):
$("body").on( "keypress", ".field", function(e) {
if ( e.keyCode == 13 ) {
$(this).after('<p class="field" contenteditable="true"><br></p>')
$(this).next().focus();
e.stopPropagation();
e.preventDefault();
}
});
这在桌面浏览器中按预期工作,但未能将下一个元素集中在 ipad 上(并且可能在 iphone 上)
【问题讨论】:
-
FWIW 您的小提琴在 iPhone 4 iOS7 Safari 上运行良好。我没有用于测试的 iPad。
-
其实,我在 Xcode 的 iOS 模拟器上测试过这个,它在 iOS 7.1、iPad 上运行良好...
-
您是否尝试过在元素创建和焦点之间添加延迟?
-
@kid 是的,我以为 setTimeout 可以解决问题,但是没有用。
标签: javascript ios ipad focus