Text 我可以对contenteditable的元素使用自动聚焦吗?

Text 我可以对contenteditable的元素使用自动聚焦吗?,text,input,contenteditable,autofocus,Text,Input,Contenteditable,Autofocus,我正在使用上的contenteditable属性,以使其按需充当文本字段(供用户重命名某些内容)。但是我想在它上面也启用自动对焦,这样用户就可以立即开始键入(最初总是启用内容可编辑) 这是否有效和/或可能?或者我必须切换到标准文本输入吗?我认为,在大多数浏览器中,你都必须使用JavaScript。而且它在iOS上也不起作用,iOS只允许在真实用户交互的事件处理程序(如单击或触摸相关事件)中编程使用focus() 另外,请注意,如果页面上有其他输入,则用户可能会在文档完全加载之前将焦点集中在其中一

我正在使用
上的
contenteditable
属性,以使其按需充当文本字段(供用户重命名某些内容)。但是我想在它上面也启用
自动对焦
,这样用户就可以立即开始键入(
最初总是启用
内容可编辑


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

我认为,在大多数浏览器中,你都必须使用JavaScript。而且它在iOS上也不起作用,iOS只允许在真实用户交互的事件处理程序(如
单击
或触摸相关事件)中编程使用
focus()

另外,请注意,如果页面上有其他输入,则用户可能会在文档完全加载之前将焦点集中在其中一个输入上,在这种情况下,当
load
事件触发时,用户会发现焦点已从其下方移走,这非常烦人,因此,您应该使用输入“
focus
事件”来跟踪这一点

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

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

window.onload=函数(){
document.getElementById(“可编辑”).focus();
};
对于未来的观众:

我想我可能有一个稍微优雅一点的解决方案

$(window).on("load", function() {
  $("[autofocus]").focus();
});
所以,一旦页面加载。。。BAM jQuery关注具有“autofocus”属性的元素


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

如果HTML5的“自动聚焦”属性开始支持contenteditable元素,那么这可能是一个更好的解决方案。然而,目前它只适用于表单元素:实际上,对于
焦点
,不需要
onload