JSFiddle:http://jsfiddle.net/ypYTT/1/
正如你所看到的,我有一个非常简单的标记,一个图像(最终)将被拖动改变背景位置。 如果你拖动一下你可以看到事件的x,y坐标如你所期望的那样,但是最后一个事件似乎总是有一个负的X,Y坐标对,这似乎取决于“结果“jsfiddle frame。
上次活动的这些坐标是什么,为什么它们是否定的?它们是从“拖动”类型事件中被触发的,但只有在最终鼠标发生时才会触发(没有鼠标从拖动中触发,因为这没有意义)。
标记HTML
<img src="data:image/gif;base64,R0lGODlhAQABAIAAAAAAAP///yH5BAEAAAAALAAAAAABAAEAAAIBRAA7" />
CSS
img {
background: linear-gradient( to left top, blue, red);
width:200px;
height:200px;
margin:20px;
}
的JavaScript
$('img').on('dragstart drag dragstop', function(e){
console.log(e.originalEvent);
});
答案 0 :(得分:0)
我在你的代码中发现了一个错误。 'dragstop'应该是'dragend'。
请看这个小提琴:http://jsfiddle.net/ypYTT/3/
我仍然可以看到显示负值,但它们不是控制台收到的最后一个值,因此可能会解决您的问题。
现在的代码如下:
$('img').on('dragstart drag dragend', function(e){
console.log(e.originalEvent);
});
$('img').on('mouseup', function(e){
e.stopPropagation();
e.stopImmediatePropagation();
});