无法将新创建的元素集中在ipad上

Can not focus newly created element on ipad

本文关键字:元素 集中 ipad 创建 新创建      更新时间:2023-09-26

我有一部分代码,我在其中动态创建新元素并使其可聚焦。

代码更复杂,但在jsfiddle上有一个可复制的部分(当您单击enter时,将创建下一个元素,然后将焦点分配给它):

$("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上)

显然,IOS/Safari只在触摸事件处理程序内部"接受"焦点。我触发了一个触摸事件,并将.focus()插入其中。我在我的iPhone3S/Safari上尝试了这个操作,它有效:

演示。

实际堆栈溢出问题。