可以把移动的监听事件 放到 window对象上 监听整个窗口事件 就可以了
然后将window对象中鼠标的移动位置 坐标赋值给 指定元素 就可以了
当然绑定在 document 上也可以
<div class="drag"></div>
<script>
var tuo = function(e) {
var x = e.clientX;
var y = e.clientY;
$('.drag').css({
left: (x - $('.drag').width() / 2) + 'px',
top: (y - $('.drag').height() / 2) + 'px'
})
}
$('.drag').on('mousedown', function(e) {
$(window).on('mousemove', tuo)
})
$('.drag').on('mouseup', function() {
$(window).off('mousemove');
})
</script>
有的时候考虑问题 确实不能仅仅局限于当前元素 那样可能你看到的方案也有局限性
关注我 持续更新前端知识