无法获取 active div 的内容

cannot get the content of active div

<div class="wrap3">
lorem lorem lorem
<div class="inside3 ed" contentEditable>ipsum ipsum ipsum</div>
</div>

<div id="btnsave">Save</div>

js

$("#btnsave").click(function(){
    var a = document.activeElement.innerText;
    console.log(a);
});

在内部单击 ed 它变为活动状态 -(蓝色边框)

点击btnsave没有给出ed的内容,而是整个文档的内容。

$("#btnsave").click(function(){
    var a = $('.ed:focus').text();
});

我想这样就可以了。

另一种解法:

$("#btnsave").click(function(){
     $('.lastEdited').text();
     alert($('.lastEdited').text())
});
$("div[contentEditable]").click(function(){
    $("div[contentEditable]").removeClass('lastEdited');
    $(this).addClass('lastEdited');
});

DEMO

通过将保存元素更改为按钮,我能够使其正常工作:https://jsfiddle.net/eac5L0aa/1/

<div class="wrap3">
lorem lorem lorem
<div class="inside3 ed" contentEditable>ipsum ipsum ipsum</div>

</div>

<button id="btnsave">Save</button>

$("#btnsave").click(function(){
    var a = getSelectionStart();
    console.log(a);
});
function getSelectionStart() {
   var node = document.getSelection().anchorNode;
   console.log(node);
   return (node.nodeType == 3 ? node.parentNode : node);
}

归功于此 answer