我在contenteditable
上使用<div>
属性,以使其按需充当文本字段(供用户重命名)。但是我也想在其上启用autofocus
,因此用户可以立即开始键入(<div>
始终始终启用contenteditable
)。
这有效和/或可能吗?还是我必须切换到标准文本输入?
最佳答案
我认为,您必须在大多数浏览器中使用JavaScript来完成此操作。而且它不适用于iOS,后者仅允许在真正的用户交互(例如focus()
或与触摸相关的事件)的事件处理程序中以编程方式使用click
。
另外,请注意,如果页面上还有其他输入,则用户可能会在文档完全加载之前就将注意力集中在其中之一上,在这种情况下,用户很烦恼地发现焦点已从当load
事件触发时,它们会在它们下面,因此您应该使用输入的focus
事件进行跟踪。
<div contenteditable="true" id="editable"></div>
<script type="text/javascript">
window.onload = function() {
document.getElementById("editable").focus();
};
</script>
关于text - 我可以对具有contenteditable的元素使用自动对焦吗?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/11475398/