3 回答

TA貢獻(xiàn)1851條經(jīng)驗(yàn) 獲得超4個(gè)贊
只需使用document.activeElement和Element.closestAPI。
const activeDiv = document.activeElement.closest('[contenteditable]');
function onMouseUp(e) {
const activeDiv = document.activeElement.closest('[contenteditable]');
console.log(activeDiv);
const outputElement = document.getElementById('output-element');
outputElement.innerText = activeDiv.id;
}
const textarea1 = document.getElementById('ta-example-one');
const textarea2 = document.getElementById('ta-example-two');
textarea1.addEventListener('mouseup', onMouseUp, false);
textarea2.addEventListener('mouseup', onMouseUp, false);
<form>
<div id="ta-example-one" data-gramm="false" contenteditable="true">
Foo bar baz plugh
</div>
<div id="ta-example-two" data-gramm="false" contenteditable="true">
Foo bar baz plugh
</div>
</form>
<p>Active element ID: <strong id="output-element"></strong></p>

TA貢獻(xiàn)1804條經(jīng)驗(yàn) 獲得超3個(gè)贊
好的,所以我嘗試了一些不同的東西。您似乎想知道該 div 是否具有焦點(diǎn)。(例如,如果您的 div 是輸入元素,并且您想知道當(dāng)前是否獲得焦點(diǎn))。
試試這個(gè)。
let textDiv =document.getElementById('textDiv');
testDiv.addEventListener('focus',function(){
if(testDiv.focus){
console.log('coursor inside!')
}
})
也許它會(huì)起作用

TA貢獻(xiàn)1775條經(jīng)驗(yàn) 獲得超11個(gè)贊
我不知道我是否答對(duì)了你的問題。如果你想知道 coursor 是否在那個(gè) div 解決方案中,可能是 onmouseover 事件。
<div class="ql-editor" data-gramm="false" contenteditable="true" onmouseover= "isInside()">
function isInside(){
Console.log("Coursor is inside!")
}
或者你可以用 Javascript 完成這一切,但你必須將 ID 添加到該 div。例如 div 將是:textDiv。
Let textDiv = document.getElementById("textDiv");
textDiv.addEventListener("mouseover",function(){
Console.log("Coursor is inside !");
});
添加回答
舉報(bào)