gpt4 book ai didi

javascript - 如何在 Javascript 中将选择设置为 "holding"状态?

转载 作者:行者123 更新时间:2023-11-30 06:20:46 24 4
gpt4 key购买 nike

我有一个 Markdown 预览区,在预览中点击文本后,预览区会切换到 markdown 源代码编辑器,插入符会自动跳转到点击前对应的位置。

function onMouseDown(e) {
const range = document.caretRangeFromPoint(e.clientX, e.clientY);
const position = markdownSourcePosition(source, range.startContainer, range.startOffset);
switchToEditorAndSetCaretToPosition(position)
}

单击时,此操作正常。但是如果我按住鼠标按钮并尝试选择,切换到编辑器后,无法保持选择状态,插入符号停止原始点击位置。

有什么方法可以将选择状态设置为“正在选择”并且在释放鼠标按钮之前不完成选择吗?

最佳答案

我不知道我是否正确理解了您的问题,但您可以使用适当的 window.getSelection 函数来审核用户当前是否正在选择而不是单击 https://developer.mozilla.org/en-US/docs/Web/API/Window/getSelection

例如:

!!getSelection().toString()
// === true if user has a selection and false otherwise

这样您就可以测试他是否在选择并防止默认行为,如果他是:

if (!getSelection().toString()) {
e.preventDefault();
}

关于javascript - 如何在 Javascript 中将选择设置为 "holding"状态?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/53258579/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com