焦点内容可编辑的div

Tar*_*len 6 html javascript jquery reactjs

我想聚焦 contenteditable div,这样我就可以在插入 DOM 时自动开始输入

我试过了$('.content').focus(),但这不起作用

示例 html:

<div class="content" contenteditable="true">sample input</div>
Run Code Online (Sandbox Code Playgroud)

myf*_*ide 3

我认为你可能只需要将代码包装在一个window.load函数中:

$(window).on("load",function(){
  $('.content').focus();
});
Run Code Online (Sandbox Code Playgroud)
<script src="https://ajax.googleapis.com/ajax/libs/jquery/1.11.1/jquery.min.js"></script>
<div class="content" contenteditable="true">sample input</div>
Run Code Online (Sandbox Code Playgroud)
小提琴: http: //jsfiddle.net/hxeqm541/

它的作用是,它会等到页面完全加载,然后再执行window.load.
如果不这样做,则关注 的代码将在页面中存在div之前执行,这是不可能的。divdiv页面上存在finally 时,代码已经运行,因此不会再发生任何事情。


旁注:

  • div因为您通过其类 ( )引用$('.content'),所以如果您有多个具有相同类名的 div,则只有最后一个将获得焦点。请参阅示例
  • 不需要将每个单独的代码块包装在window.load.
    通常,您可以将整个 JavaScript 代码包装在window.load. 该规则可能有一些例外,请阅读本文本文以充分了解该机制的工作原理window.load,以便您准确地知道如何使用它。
    (请注意第二个链接中.load也可以用于其他元素。)