Vous cherchez une solution pour faire glisser un élément après l'événement "mouseup".Attachez l'événement "dragstart" à "mouseup" pour obtenir une expérience dragable
Comme vous le savez, un glissement se produit lorsqu'il reçoit des événements "mousedown" et "mousemove".
Comment puis-je obtenir un glissement avec l'événement «mouseup»? (Lorsque le clic est réalisé)?
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');
});
});
La question est pourquoi? C'est un comportement inattendu pour la plupart des utilisateurs, et comment arrêteriez-vous de faire glisser? – adeneo
J'arrêterais de glisser sur "mousedown". –
Mais lorsque la souris est relâchée, c'est un clic, et le glissement est de nouveau activé. Il semble étrange d'avoir toujours quelque chose à glisser, sauf si le bouton de la souris est enfoncé. – adeneo