JS实现div拖动效果(可兼容IE8)

主要使用Element接口的setPointerCapture() 方法来实现。

setPointerCapture()详细解释见https://developer.mozilla.org/zh-CN/docs/Web/API/Element/setPointerCapture

$(function () {
                var obj = document.getElementById("panel_compare");
                obj.onmousedown = function (event) {
                    obj.setPointerCapture && obj.releasePointerCapture();

                    event = event || window.event;
                    var ol = event.clientX - obj.offsetLeft;
                    var ot = event.clientY - obj.offsetTop;

                    document.onmousemove = function (event) {
                        event = event || window.event;
                        var left = event.clientX - ol;
                        var top = event.clientY - ot;
                        obj.style.left = left + "px";
                        obj.style.top = top + "px";
                    };

                    document.onmouseup = function () {
                        document.onmousemove = null;
                        document.onmouseup = null;
                        obj.releasePointerCapture && obj.releasePointerCapture();
                    };
                    return false;
                };
            });
          

 

posted @ 2020-12-15 16:04  时年天真  阅读(254)  评论(0)    收藏  举报