Javascript 拖动时获取鼠标位置(JS+;HTML5)

Javascript 拖动时获取鼠标位置(JS+;HTML5),javascript,html,Javascript,Html,我目前正在实现一个小的演示应用程序,试图用HTML5实现拖放操作。我现在想做的是在用户拖动时获取光标的位置,但是我遇到了一些问题 拖动鼠标时,似乎没有触发“mousemove”事件,这使我无法确定鼠标的当前位置。我可以使用“拖动”事件,但是我不知道如何从“拖动”事件对象获取位置 // JavaScript document.addEventListener("dragover", function(e){ e = e || window.event; var dragX =

我目前正在实现一个小的演示应用程序,试图用HTML5实现拖放操作。我现在想做的是在用户拖动时获取光标的位置,但是我遇到了一些问题

拖动鼠标时,似乎没有触发“mousemove”事件,这使我无法确定鼠标的当前位置。我可以使用“拖动”事件,但是我不知道如何从“拖动”事件对象获取位置

//  JavaScript

document.addEventListener("dragover", function(e){
    e = e || window.event;
    var dragX = e.pageX, dragY = e.pageY;

    console.log("X: "+dragX+" Y: "+dragY);
}, false);

//  jQuery

$("body").bind("dragover", function(e){
    var dragX = e.pageX, dragY = e.pageY;

    console.log("X: "+dragX+" Y: "+dragY);
});
下面的可运行代码段:

//JavaScript(一个扩展jQuery的非常棒的库,请查看)
文件.附录列表(“dragover”,功能(e){
e=e | | window.event;
var dragX=e.pageX,dragY=e.pageY;
控制台日志(“X:+dragX+”Y:+dragY);
},假);
//jQuery(使用本机语言JavaScript编写)
$(“body”).bind(“dragover”,函数(e){
var dragX=e.pageX,dragY=e.pageY;
控制台日志(“X:+dragX+”Y:+dragY);
});

LOL把东西拖到我身上(打开控制台)

如果您使用的是jQuery

$(document).on('dragover', function(evt) {
    var x = evt.pageX,
        y = evt.pageY;

    console.log(x, y);

});

... = 函数(evt){evt=evt | | | | window.event;…}@alex那么你为什么不这么做呢?有很多dragover事件。忽视其中大部分不是一个好主意吗?比如说。。每10个事件处理一次?现在我不知道该怎么做,但我会花时间考虑。@Tchypp好的,是的,有很多事件,指针位置更新必然会生成很多事件。这取决于你在这些活动中所做的事情,以及活动的强度。大多数人需要实时信息,而不是每一次更新。跟踪拖拽事件开始、每次事件递增以及仅在第10个事件上采取行动的成本必须与每次事件期间采取的行动进行权衡。
$(document).on('dragover', function(evt) {
    var x = evt.pageX,
        y = evt.pageY;

    console.log(x, y);

});