应在用户【拖蓝】选择结束后显示摘录框
这样可以加快速度,解决在手机上选择文本,一不小心就选到底了的情况。
具体实现:
- 用户选择文本,并持续到选择动作结束
- 触发监听事件
- 显示摘录框。
要判断用户是否选择了文本动作,可以使用 JavaScript 中的事件监听器来检测用户的行为。以下是一种常见的判断用户是否选择了文本的方法:
document.addEventListener("mouseup", function(event) {
var selectedText = window.getSelection().toString();
if (selectedText !== "") {
// 用户选择了文本
console.log("用户选择了文本:" + selectedText);
} else {
// 用户没有选择文本
console.log("用户没有选择文本");
}
});
上述代码中,我们使用了 mouseup 事件来监听用户鼠标松开的动作。在事件处理函数中,我们使用 window.getSelection().toString() 获取用户选择的文本,然后判断是否为空。如果不为空,则表示用户选择了文本,否则表示用户没有选择文本。
你可以根据实际需求修改事件类型和处理逻辑来适应不同的场景。
要判断用户是否选择了文本动作,可以使用以下方法:
- JS 监听文本选择事件:
document.addEventListener('selectionchange', function() {
var selection = window.getSelection().toString();
if (selection.length > 0) {
// 用户选择了文本动作
console.log('用户选择了文本动作');
} else {
// 用户取消了文本选择
console.log('用户取消了文本选择');
}
});
https://developer.mozilla.org/zh-CN/docs/Web/API/Selection
https://github.com/oflg/fishing-catchfish/blob/main/ui/tiddler.tid
fishing-catchfish/ui/ViewTemplate/tiddler
当前的拖蓝摘录功能基于Dynannotate插件,它插件在5.3.0后新增了一种支持拖蓝结束后延迟显示弹窗的方法。
我是有这个想法,但是目前还没跟上更新哈。
嗯嗯,明白啦