Déclenchement de la Souris en faisant Glisser dans l'INTERFACE utilisateur de jQuery

À l'aide de jQuery 1.2.x et jQuery UI 1.5.x, on a pu déclencher glisser manuellement comme suit:

jQuery("#myDiv").mousedown(function(ev) {
target = jQuery(ev.target);
if (target.hasClass("drag-me")) {
    target.draggable({
        helper: "clone",
        start: function()
        {
            console.log("drag start");
        },
        stop: function()
        {
            jQuery(this).draggable("destroy");
        }
    }).trigger("mousedown.draggable", [ev]);
} });

Il est appliqué sur le code HTML suivant:

<div id="myDiv">
<div class="drag-me"></div>
<div class="drag-me"></div>
<div class="drag-me"></div>
<div class="drag-me"></div>
<div class="drag-me"></div>
<div class="drag-me"></div>
<div class="drag-me"></div>
</div>

C'était un moyen pratique d'appliquer en faisant glisser les éléments à l'intérieur d'un conteneur qui a ses enfants a changé de façon dynamique. J'aime l'appeler "faites glisser la délégation".

Cependant avec la version de jQuery 1.3.x & jQuery 1.6+, le script ci-dessus cessé de travailler. À l'aide de jQuery 1.3.2 & jQuery UI 1.7.1 renvoie un message d'erreur "trop de récursivité".

Comment puis-je déclencher glisser manuellement? Des suggestions?

OriginalL'auteur Raybiez | 2009-06-05