javascript - 在鼠标移动时仅选择一次 li 元素

标签 javascript

我有一个 li 元素列表。

我试图通过鼠标单击+鼠标移动来选择这些元素。 但是,它在我的 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();      
        } 
 });

假设我有这样的东西:
enter image description here

如果我想用鼠标选择这两个目录,由于我的“onmousemove”功能,它会选择它们大约10次。

有什么方法可以在这样做时消除重复项吗?

最佳答案

您可以检查 __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();      
            }
        } 
 });

然后在鼠标松开时将其设置为 null。

关于javascript - 在鼠标移动时仅选择一次 li 元素,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/43505649/

相关文章:

javascript - nodemon:expressjs 应用程序未启动干净退出 - 在重新启动之前等待更改

javascript - 分离标签的插件(如 stackoverflow 的输入标签界面)

javascript - 单元测试 AngularJS 指令包装 Snap.svg

javascript - Indy TIdHTTPServer OnCommandGet html 中的 javascript 未执行

javascript - VexFlow JavaScript - 有什么方法可以修复多语音与休息(r/4)不与音符(c/5)重叠?

javascript - 如何获取元素的事件监听器

javascript - 斐波那契数列有问题

javascript - requestAnimationFrame 会干扰 CSS 转换吗?

javascript - 如何清除状态数组?

javascript - 无法实现 ValidatorFn 接口(interface)