我有一个li元素列表。
我试图在mouseclick + mousemove上选择这些元素。 但是,它在我的mousemove函数中多次选择相同的元素:
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();
}
});
如果我想用鼠标选择这两个目录,它会选择它们大约10次,因为我的" onmousemove"功能。
有没有办法摆脱重复这样做?
答案 0 :(得分:1)
您可以检查__target是否已定义,然后仅定义/选择它。
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();
}
}
});
然后在mouseup上将其设置为null。