Javascript 在mousemove上仅选择li元素一次
我有一个li元素的列表 我试图在mouseclick+mousemove上选择这些元素。 但是,它在我的mousemove函数中多次选择相同的元素:Javascript 在mousemove上仅选择li元素一次,javascript,Javascript,我有一个li元素的列表 我试图在mouseclick+mousemove上选择这些元素。 但是,它在我的mousemove函数中多次选择相同的元素: this.querySelector('.directory-list').addEventListener('mousedown', (e) => { this.querySelector('.directory-list').onmousemove = function(e) { this._targ
this.querySelector('.directory-list').addEventListener('mousedown', (e) => {
this.querySelector('.directory-list').onmousemove = function(e) {
this._target = (e.target) ? e.target: e.srcElement;
this._target.select();
}
});
假设我有这样的东西:
如果我想用鼠标选择这两个目录,由于我的onmousemove功能,它会选择它们大约10次
在这样做的同时,有没有办法消除重复的内容 您可以检查是否定义了_u目标,然后仅在未定义时定义/选择它
this.querySelector('.directory-list').addEventListener('mousedown', (e) => {
this.querySelector('.directory-list').onmousemove = function(e) {
if (!this_target) {
this._target = (e.target) ? e.target: e.srcElement;
this._target.select();
}
}
});
然后在鼠标悬停时将其设置为null。.querySelector.directory list“返回第一个匹配的项,在这种情况下,它将始终选择一个元素,第一个。在选择项之后,立即将onmousemove设置为null,这样就不会再次调用它。就像这样做的!不起作用。对于第一个mousedown+mousemove,它只选择第一个元素。当mouseup发生时,它甚至不允许选择第一个元素。那么在函数之外定义目标呢?我想问题可能是你设置了这个目标,在事件停止后,它就消失了。