Events— 'mouseup' not firing after mousemove

前端 未结 5 1154
慢半拍i
慢半拍i 2020-12-08 19:37

I am trying to drag an image with Javascript (no libraries). I am able to listen to mousedown and mousemove events. For some reason, I am not able

5条回答
  •  有刺的猬
    2020-12-08 20:30

    Neither of the above answers reliably worked to ensure a mouseup event.

    Here's what I discovered works consistently:

    document.querySelector('html').addEventListener('mouseup', function (e) {
        console.log("html mouseup");
        var evt = document.createEvent("MouseEvents");
        evt.initEvent("mouseup", true, true);
        document.getElementById('drag-me').dispatchEvent(evt);
    });
    

    If mouseup fires on target element, it does not fire on html, and if it did not fire on target, it will fire on html.

提交回复
热议问题