Javascript 获取内容可编辑div中的当前div id(特定)

Javascript 获取内容可编辑div中的当前div id(特定),javascript,jquery,Javascript,Jquery,我最近在做我的一个项目,目前我遇到了一些问题。我制作了一个内容可编辑的div,用户可以在其中输入内容。此内容\u可编辑div包含多个div,用户必须在其中键入。我尝试了document.activeElement,但它给了我内容可编辑的div,而不是特定的div,而id为second的div 我想知道如何在content\u editable div中找到用户类型为的特定div。例如:- <div contenteditable="true" id="content_editable_di

我最近在做我的一个项目,目前我遇到了一些问题。我制作了一个内容可编辑的div,用户可以在其中输入内容。此内容\u可编辑div包含多个div,用户必须在其中键入。我尝试了
document.activeElement
,但它给了我内容可编辑的div,而不是特定的div,而id为second的div 我想知道如何在content\u editable div中找到用户类型为的特定div。例如:-

<div contenteditable="true" id="content_editable_div">
<div id="first_div">
I am the first div
</div>
<div id="second_div">
I am the second div and i want to know if the focus is on me
</div>
</div>
我可以使用jquery,但只能在最后一个选项中使用。我只想使用javascript实现这个目的。请帮我解决这个问题,我在整个网络上都没有找到解决方案(可能是我没有仔细搜索)。提前感谢您获取具体的div 在Javascript中,您可以使用

document.getElementById(“第二个分区”)

或者使用Jquery

$(“第二分区”)

确保您的id是唯一的。这是在任何浏览器中查找obj的最快方法

现在获取活动div。为什么不在单击或编辑div时放置特定事件。比如:

或者尝试探索其他事件,如鼠标悬停、鼠标离开等

我希望这会有帮助。另一方面,如果我遗漏了什么,请详细说明您的问题。

获取具体的div 在Javascript中,您可以使用

document.getElementById(“第二个分区”)

或者使用Jquery

$(“第二分区”)

确保您的id是唯一的。这是在任何浏览器中查找obj的最快方法

现在获取活动div。为什么不在单击或编辑div时放置特定事件。比如:

或者尝试探索其他事件,如鼠标悬停、鼠标离开等


我希望这会有帮助。另一方面,如果我遗漏了什么,请详细说明你的问题。

你可以用这个在js中找到焦点元素

var focused = document.activeElement;

你可以用这个在js中找到焦点元素

var focused = document.activeElement;

一种可能的解决方案是在每个内部div上附加一个事件侦听器,以侦听“焦点”事件。然而,我发现并非所有元素都发出“焦点”事件

医生说:

焦点事件在获得焦点时发送到元素。这件事 隐式地适用于有限的元素集,例如表单 元素(输入、选择等)和链接(a href)。最近 在浏览器版本中,事件可以扩展为包括所有元素 通过显式设置元素的tabindex属性来输入。一 元素可以通过键盘命令(如Tab键或 通过鼠标单击元素

tabindex
属性添加到每个内部div将使监听焦点事件成为可能


例如。注意:我在JQuery中编写了代码,但它可以很容易地用JS编写。

一个可能的解决方案是在每个内部div上附加一个事件侦听器来侦听“焦点”事件。然而,我发现并非所有元素都发出“焦点”事件

医生说:

焦点事件在获得焦点时发送到元素。这件事 隐式地适用于有限的元素集,例如表单 元素(输入、选择等)和链接(a href)。最近 在浏览器版本中,事件可以扩展为包括所有元素 通过显式设置元素的tabindex属性来输入。一 元素可以通过键盘命令(如Tab键或 通过鼠标单击元素

tabindex
属性添加到每个内部div将使监听焦点事件成为可能

例如。注意:我在JQuery中编写了代码,但它可以很容易地用JS编写。

这个呢

<div contenteditable="true" id="content_editable_div">
  <div id="first_div">
    First Div
  </div>
  <div id="second_div">
    Second Div
  </div>
</div>



$(document).ready(function () {

    function onMouseUp(e) {
        console.log(this.id);
    }

    document.getElementById("first_div").addEventListener("mouseup", onMouseUp, false);
    document.getElementById("second_div").addEventListener("mouseup", onMouseUp, false);
});

第一组
第二组
$(文档).ready(函数(){
函数onMouseUp(e){
console.log(this.id);
}
document.getElementById(“first_div”).addEventListener(“mouseup”,onMouseUp,false);
document.getElementById(“第二个分区”).addEventListener(“mouseup”,onMouseUp,false);
});
这个怎么样

<div contenteditable="true" id="content_editable_div">
  <div id="first_div">
    First Div
  </div>
  <div id="second_div">
    Second Div
  </div>
</div>



$(document).ready(function () {

    function onMouseUp(e) {
        console.log(this.id);
    }

    document.getElementById("first_div").addEventListener("mouseup", onMouseUp, false);
    document.getElementById("second_div").addEventListener("mouseup", onMouseUp, false);
});

第一组
第二组
$(文档).ready(函数(){
函数onMouseUp(e){
console.log(this.id);
}
document.getElementById(“first_div”).addEventListener(“mouseup”,onMouseUp,false);
document.getElementById(“第二个分区”).addEventListener(“mouseup”,onMouseUp,false);
});

那么,你到底需要什么呢。用户当前在何处键入内容?@xAqweRx是。我想知道用户输入的具体div。例如,如果div正在编辑id为second_div的div,我可以知道您需要这些事件,并且要为您定位正确的事件,请查看这里->那么,您最终需要什么。用户当前在何处键入内容?@xAqweRx是。我想知道用户输入的具体div。例如,如果div正在编辑id为second_div的div,我可以知道您需要这些事件,并且要为您定位正确的事件,请查看这里->您已经错过了问题的要点。问题是-如何检测哪个div用户当前正在编辑文本实际上问题是如何知道哪个用户正在键入,最初的单击不是typingok。谢谢ediited:当用户单击当前div时,将该div id存储在私有变量中^_^你没有抓住问题的关键。问题是-如何检测哪个div用户当前正在编辑文本实际上问题是如何知道哪个用户正在键入,最初的单击不是typingok。谢谢ediited:当用户单击当前div时,将该div id存储在私有变量中^_^再读一遍问题。有人提到,这种方法不起作用。再读一遍这个问题。有人提到,这种方法不起作用乐于助人:)乐于助人:)
<div contenteditable="true" id="content_editable_div">
  <div id="first_div">
    First Div
  </div>
  <div id="second_div">
    Second Div
  </div>
</div>



$(document).ready(function () {

    function onMouseUp(e) {
        console.log(this.id);
    }

    document.getElementById("first_div").addEventListener("mouseup", onMouseUp, false);
    document.getElementById("second_div").addEventListener("mouseup", onMouseUp, false);
});