Trigger mit der Maus in jQuery UI

Mithilfe von jQuery 1.2 an.x und jQuery UI 1.5.x, war man in der Lage auszulösen, ziehen Sie manuell wie folgt:

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]);
} });

Es wird angewendet, um den folgenden HTML-Code:

<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>

War es eine praktische Möglichkeit, um Sie zu bewegen, um Elemente innerhalb eines Containers, dass seine Kinder dynamisch verändert werden. Ich nenne es gerne "drag delegation".

Doch mit der Veröffentlichung von jQuery 1.3.x & jQuery 1.6+, das script oben funktioniert nicht mehr. Mit jQuery 1.3.2 & jQuery-UI-1.7.1 gibt eine Fehlermeldung "too much recursion".

Wie kann ich den trigger manuell ziehen? Irgendwelche Vorschläge?

InformationsquelleAutor Raybiez | 2009-06-05

Schreibe einen Kommentar