Tho*_*nes 5 javascript jquery drag
JSFiddle:http : //jsfiddle.net/ypYTT/1/
如您所见,我有一个非常简单的标记,其中的图像(最终)将在更改背景位置周围拖动。如果您稍加拖动,就会看到触发的事件的x,y坐标,如您所愿,但是上一次触发的事件似乎总是具有负的X,Y坐标对,这似乎取决于“结果” jsfiddle框架。
上一次事件的这些坐标是什么,为什么它们是负数?它们是从“拖动”类型的事件中触发的,但是只有在最终的mouseup发生时才发生(从拖动中不触发mouseup,因为那没有意义)。
标记HTML
<img src="data:image/gif;base64,R0lGODlhAQABAIAAAAAAAP///yH5BAEAAAAALAAAAAABAAEAAAIBRAA7" />
Run Code Online (Sandbox Code Playgroud)
的CSS
img {
background: linear-gradient( to left top, blue, red);
width:200px;
height:200px;
margin:20px;
}
Run Code Online (Sandbox Code Playgroud)
的JavaScript
$('img').on('dragstart drag dragstop', function(e){
console.log(e.originalEvent);
});
Run Code Online (Sandbox Code Playgroud)
我在你的代码中发现了一个错误。“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();
});
Run Code Online (Sandbox Code Playgroud)