如何在drop事件Javascript/Jquery中获取鼠标坐标
我只是没有定义:如何在drop事件Javascript/Jquery中获取鼠标坐标,javascript,jquery,mouseevent,Javascript,Jquery,Mouseevent,我只是没有定义: myele.bind('drop', function (e) { console.log("Dropped"); if (e.pageX || e.pageY) { //store } else if (e.clientX || e.clientY) { //store }
myele.bind('drop', function (e) {
console.log("Dropped");
if (e.pageX || e.pageY) {
//store
}
else if (e.clientX || e.clientY) {
//store
}
console.log("XPOS: " + e.clientX + " YPOS: " + e.pageY);
return false;
});
输出:
下降
XPOS:未定义的YPO:未定义
编辑
jQuery将原始drop事件包装到名为
originalEvent
的属性中,因此您必须访问该属性才能获取页面/客户端属性
myele.bind('drop', function (e) {
console.log("Dropped");
if (e.originalEvent.pageX || e.originalEvent.pageY) {
//store
}
else if (e.originalEvent.clientX || e.originalEvent.clientY) {
//store
}
console.log("XPOS: " + e.originalEvent.clientX + " YPOS: " + e.originalEvent.pageY);
return false;
});
console.log(e);
jQuery.Event {originalEvent: MouseEvent, type: "drop", isDefaultPrevented: function, timeStamp: 1396687578486, jQuery110104013205280061811: true…}
altKey: false
bubbles: true
cancelable: true
ctrlKey: false
currentTarget: div#e
data: null
delegateTarget: div#e
eventPhase: 2
handleObj: Object
isDefaultPrevented: function returnFalse() {
jQuery110104013205280061811: true
metaKey: false
originalEvent: MouseEvent <---
altKey: false
bubbles: true
button: 0
cancelBubble: false
cancelable: true
charCode: 0
clientX: 24 <---
clientY: 64 <---
...
relatedTarget: null
...
将绿色框拖动到红色框
当你在一个你认为有你想要的东西的对象上得到一个未定义的值时,把这个对象记录到控制台并查看它。在这种情况下,只需记录事件对象并查看属性
myele.bind('drop', function (e) {
console.log("Dropped");
if (e.originalEvent.pageX || e.originalEvent.pageY) {
//store
}
else if (e.originalEvent.clientX || e.originalEvent.clientY) {
//store
}
console.log("XPOS: " + e.originalEvent.clientX + " YPOS: " + e.originalEvent.pageY);
return false;
});
console.log(e);
jQuery.Event {originalEvent: MouseEvent, type: "drop", isDefaultPrevented: function, timeStamp: 1396687578486, jQuery110104013205280061811: true…}
altKey: false
bubbles: true
cancelable: true
ctrlKey: false
currentTarget: div#e
data: null
delegateTarget: div#e
eventPhase: 2
handleObj: Object
isDefaultPrevented: function returnFalse() {
jQuery110104013205280061811: true
metaKey: false
originalEvent: MouseEvent <---
altKey: false
bubbles: true
button: 0
cancelBubble: false
cancelable: true
charCode: 0
clientX: 24 <---
clientY: 64 <---
...
relatedTarget: null
...
console.log(e);
事件{originalEvent:mouseeEvent,类型:“drop”,isDefaultPrevented:function,时间戳:1396687578486,jQuery10104013205280061811:true…}
altKey:错误
泡泡:真的
可取消:正确
克特尔基:错
当前目标:e区
数据:空
授权对象:e组
活动阶段:2
handleObj:对象
isDefaultPrevented:函数returnFalse(){
jQuery110104013205280061811:正确
元键:false
OriginaleEvent:MouseeEvent提供一个JSFIDLE,用于复制issue@A.Wolff添加了JSFIDLE链接