1
尋找在「mouseup」事件之後拖動元素的解決方案。將「dragstart」事件附加到「mouseup」以獲得可拖動的體驗
正如你所知道的拖動發生時,它會收到「mousedown」和「mousemove」事件。
如何通過「mouseup」事件實現拖動? (點擊實現時)?
https://codepen.io/pklauzinski/pen/rxroyL
// Implement drag and drop for the image
$('.box').on('mousedown', function(e) {
var $this = $(this),
$window = $(window),
mouseX = e.pageX,
mouseY = e.pageY,
width = $this.outerWidth(),
height = $this.outerHeight()
elemX = $this.offset().left + width - mouseX,
elemY = $this.offset().top + height - mouseY;
e.preventDefault();
$window.on('mousemove.drag', function(e2) {
$this.offset({
left: e2.pageX + elemX - width,
top: e2.pageY + elemY - height
});
}).one('mouseup', function() {
$window.off('mousemove.drag');
});
});
問題是爲什麼?這對於大多數用戶來說是意想不到的行爲,您將如何停止拖動? – adeneo
我會停止拖動「mousedown」。 –
但是,當鼠標再次被釋放時,這是一個點擊,並拖動回來。除非按下鼠標按鈕,否則總是有可拖動的東西似乎很奇怪。 – adeneo