我遇到了不允许的光标问题。拖动“拖动”元素时,出现不允许的光标,我不能再拖动它。我该如何预防呢?我想让我的“拖动”元素在鼠标按下时总是“绝对”。
注意:我知道它可能由于“指针事件”而发生,但是我需要将其包含在此代码中。
一些代码:
$("#drag").bind({
mousedown : function (e) {
var dragged = $(this);
dragged.css({
left : e.pageX - (50 / 2),
top : e.pageY - (50 / 2)
});
dragged.addClass("absolute");
dragged.css({
'pointer-events' : 'none'
})
var upHandler = function () {
dragged.removeClass("absolute");
dragged.css({
'pointer-events' : 'all'
})
$("body").off('mouseup', upHandler);
$("body").off('mousemove', moveHandler);
}
var moveHandler = function (e) {
dragged.css({
left : e.pageX - (50 / 2),
top : e.pageY - (50 / 2)
});
}
$("body").bind({
mouseup : upHandler,
mousemove : moveHandler
})
}
});
$("body").mousemove(function (event) {
$("#log").text("pageX: " + event.pageX + ", pageY: " + event.pageY);
});
https://jsfiddle.net/38zecoL1/1/
谢谢你的帮助。
最佳答案
在处理鼠标事件之前,请致电e.preventDefault();
它取消了阻止浏览器执行默认行为的事件。通常,它将在通常不可拖动的元素上显示“不允许”光标。
您可以看到它的运行情况:https://jsfiddle.net/38zecoL1/4/
关于javascript - JQUERY如何在拖动时禁用不允许的光标?,我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/45534302/