Estoy haciendo un elemento personalizado. Quiero tener una función que haga cosas continuamente desde que se presiona el mouse sobre el elemento hasta que se suelta el botón o el mouse abandona el elemento. Mi problema es que parece que mientras mantengo presionado el mouse no se activan otros eventos.
Esto solo parece ser un problema en Firefox, ya que funciona básicamente según lo previsto en Chrome cuando lo probé. ¿Algún consejo sobre cómo podría hacer que funcione en FF? Fragmentos de código relevantes a continuación:
// attaching event listeners in connectedCallback connectedCallback() { /* Some other code before... */ this.addEventListener('mousedown', this._onMouseDown) this.addEventListener('mouseenter', this._setMouseOnTrue) this.addEventListener('mouseup', this._setMouseOnFalse) this.addEventListener('mouseleave', this._setMouseOnFalse) } _setMouseOnTrue(event) { this._mouseOn = true} _setMouseOnFalse(event) { this._mouseOn = false } _onMouseDown(event) { if (event.button === 0) { this._setMouseOnTrue(event) this.func() } } func() { if (this._mouseOn) { this._privateFunc() setTimeOut(this.func.bind(this), time) } }