jQuery de tir à l'événement glisser tandis que la souris est toujours à la baisse

Ok j'ai été jouer avec pendant des heures maintenant et toujours pas de dés. Je suis en création d'une interface vous permettant de faire glisser et de déposer une icône(un div avec une image à l'intérieur). Je suis à l'aide de la les scripts jQuery UI pour ils sont essayé et testé div glisser fonctionnalité.

Mon problème est que vous ne pouvez pas faire glisser un div dehors c'est la div parent. Pour contourner ce problème, je suis en création d'un dragable div, ajouté dans le corps du document, à la demande lorsqu'un utilisateur déclenche un événement mousedown. Mais je ne peux pas comprendre comment se déclenche l'événement glisser nécessaires afin que l'utilisateur peut immédiatement commencer à faire glisser ce nouveau div autour.

En bref j'ai besoin d'; souris -> appel de la fonction à créer déplaçable div> faites glisser la div autour tandis que la souris est toujours en baisse.

Je suis sûr que c'est quelque chose de simple. Toute aide serait grandement appréciée.

Voici un exemple de mon problème, tout ce qu'il faut pour exécuter sont les scripts jQuery UI qui peut être trouvé sur le lien ci-dessus.

<html>
<head>
<script src="../../jquery-1.6.2.js"></script>
<script src="../../ui/jquery.ui.core.js"></script>
<script src="../../ui/jquery.ui.widget.js"></script>
<script src="../../ui/jquery.ui.mouse.js"></script>
<script src="../../ui/jquery.ui.draggable.js"></script>
<style>
#inactive_dragable { width: 50px; height: 50px; padding: 0.5em; background-color: green; }
.test_drag { width: 50px; height: 50px; padding: 0.5em; background-color: red; position: absolute; }
</style>
<script>
function createDraggableDiv(e){     
if (!e) var e = window.event;   
jQuery('<div/>', {
id: 'tester',
}).appendTo('#page_wrap');      
var isIE = document.all ? true : false;
var _x,_y;
if (!isIE) {
_x = e.pageX;
_y = e.pageY;
}
if (isIE) {
_x = e.clientX + document.body.scrollLeft;
_y = e.clientY + document.body.scrollTop;
}
var boundry = $('#page_wrap').offset();
$('#tester').addClass('test_drag');
$('#tester').html("New div to drag");
$('#tester').css("top", _y + "px");
$('#tester').css("left", _x + "px");
$('#tester').draggable();       
//Now how do I make the new div immediately start dragging?
//...
}
</script>
</head>
<body>
<div id="page_wrap">
<div class="demo" style="width: 300px; height: 200px; background-color: blue; overflow-y: auto; overflow-x: hidden;">
<div onmousedown="createDraggableDiv(event);" id="inactive_dragable" class="ui-widget-content">
<p>Drag me around</p>
</div>
Lorem ipsum dolor sit amet, consectetuer adipiscing elit, sed diam nonummy nibh euismod tincidunt ut laoreet dolore magna aliquam erat volutpat. Ut wisi enim ad minim veniam, quis nostrud exerci tation ullamcorper suscipit lobortis nisl ut aliquip ex ea commodo consequat. Duis autem vel eum iriure dolor in hendrerit in vulputate velit esse molestie consequat, vel illum dolore eu feugiat nulla facilisis at vero eros et accumsan et iusto odio dignissim qui blandit praesent luptatum zzril delenit augue duis dolore te feugait nulla facilisi.</div>
</div>
</body>
</html>

Lorsque vous cliquez sur le div que je veux être en mesure de créer un nouveau div et faites-le glisser autour instantanément.

  • Nous montrer le code que vous utilisez pour créer de la div.
  • Ont ajouté les exemples de code, à l'intérieur de la createDraggableDiv fonction le code crée la div.
InformationsquelleAutor Ally | 2012-01-06