如何单击一个元素,将鼠标移到其他元素上,然后 select 您悬停在 JavaScript 上的那些元素?
How to click on an element, move the mouse over other elements and then select those elements that you hovered over with JavaScript?
我基本上是在尝试复制 jQuery
的 .selectable()
方法,但我在 vanilla JavaScript
中需要它。我应该使用哪种 event listener
方法?我试过 mousedown
,但我如何检测到另一个元素已被访问?
这是 jQuery
如何做到这一点的示例:[http://jsfiddle.net/ZfevM/99/]
我想通了。还必须与 mouseup
和 mousemove
一起工作。这是我想出的,它按预期工作:[https://repl.it/repls/EquatorialLumberingInfinity]
欢迎任何想法或替代解决方案!
您可以使用 window.getSelection() 和 [selection].getRangeAt([index]);
document
.getElementsByTagName('body')[0]
.addEventListener('mouseup',
function(){
const selection = window.getSelection();
const range = selection.getRangeAt(0);
console.log( selection, range )
})
选择具有 .containsNode() 函数来与给定的集合进行比较;
Range 具有 .startContainer 和 .endContainer 以及 .commonAncestorContainer 以与给定结构进行比较
我基本上是在尝试复制 jQuery
的 .selectable()
方法,但我在 vanilla JavaScript
中需要它。我应该使用哪种 event listener
方法?我试过 mousedown
,但我如何检测到另一个元素已被访问?
这是 jQuery
如何做到这一点的示例:[http://jsfiddle.net/ZfevM/99/]
我想通了。还必须与 mouseup
和 mousemove
一起工作。这是我想出的,它按预期工作:[https://repl.it/repls/EquatorialLumberingInfinity]
欢迎任何想法或替代解决方案!
您可以使用 window.getSelection() 和 [selection].getRangeAt([index]);
document
.getElementsByTagName('body')[0]
.addEventListener('mouseup',
function(){
const selection = window.getSelection();
const range = selection.getRangeAt(0);
console.log( selection, range )
})
选择具有 .containsNode() 函数来与给定的集合进行比较; Range 具有 .startContainer 和 .endContainer 以及 .commonAncestorContainer 以与给定结构进行比较