我可以在具有满足感的元素上使用自动对焦吗?

时间:2012-07-13 17:26:48

标签: text input contenteditable autofocus

我在contenteditable上使用<div>属性,以便根据需要将其作为文本字段(供用户重命名)。但我也希望在其上启用autofocus,这样用户就可以立即开始输入(<div>最初始终启用contenteditable

这是否有效和/或可能?或者我是否必须切换到标准文本输入?

2 个答案:

答案 0 :(得分:14)

我想在大多数浏览器中都必须使用JavaScript。它不会在iOS上工作,它只允许在真实用户交互的事件处理程序中编程使用focus()(例如click或触摸相关事件)。

另外,请注意,如果页面上还有其他输入,则用户可能会在文档完全加载之前关注其中一个输入,在这种情况下,用户可能会非常烦恼当load事件触发时,焦点已从它们下方移开,因此您应该使用输入&#39;要跟踪此事件的focus事件。

<div contenteditable="true" id="editable"></div>

<script type="text/javascript">
    window.onload = function() {
        document.getElementById("editable").focus();
    };
</script>

答案 1 :(得分:1)

对于未来的观众:

我想我可能会有一个更优雅的解决方案。

$(window).on("load", function() {
  $("[autofocus]").focus();
});

所以,一旦页面加载...... BAM jQuery专注于具有'autofocus'属性的元素!

您可以使用选择器来获得您想要的内容。