2009-12-01 2 views

Antwort

9

Wenn Sie ein vollständiges Beispiel suchen, werfen Sie einen Blick auf die Shopping Cart example der jQuery UI-Demo. Dies ist ein Fallbeispiel, zeigt aber genau, was gefragt wurde (Ziehen eines Elements außerhalb eines Akkordeons).

$(function() { 
     $("#catalog").accordion(); 
     $("#catalog li").draggable({ 
      appendTo: "body", 
      helper: "clone" 
     }); 
}); 

Und weiter von dort.

+1

Kein Problem, verbrachte eine ganze Weile damit und dachte, ich würde jemanden die gleiche Mühe sparen. – Laurence

+0

@Laurence +1 dafür. nur als Referenz funktioniert das auch appendTo: $ (# element) – dekdev

1

Haben Sie die containment value of 'document' versucht mit:

$("#draggable1").draggable({ containment: 'document' }); 

Hier ein Beispiel ich in der Lage war außerhalb des Akkordeons ziehen

:

<div id="accordion"> 
    <h3><a href="#">Section 1</a></h3> 
    <div id="draggable1"> 
    <p> 
     Mauris mauris ante, blandit et, ultrices a, suscipit eget, quam. Integer 
     ut neque. Vivamus nisi metus, molestie vel, gravida in, condimentum sit 
     amet, nunc. Nam a nibh. Donec suscipit eros. Nam mi. Proin viverra leo ut 
     odio. Curabitur malesuada. Vestibulum a velit eu ante scelerisque vulputate. 
    </p> 
    </div> 
    <h3><a href="#">Section 2</a></h3> 
    <div> 
     <p> 
     Sed non urna. Donec et ante. Phasellus eu ligula. Vestibulum sit amet 
     purus. Vivamus hendrerit, dolor at aliquet laoreet, mauris turpis porttitor 
     velit, faucibus interdum tellus libero ac justo. Vivamus non quam. In 
     suscipit faucibus urna. 
     </p> 
    </div> 
</div> 

<script type="text/javascript"> 
$(function() { 
    $("#accordion").accordion(); 
    $("#draggable1").draggable({ containment: 'document' }); 
}); 
</script> 
+0

Ich schätze Ihre Hilfe, aber ich fürchte, ich habe mich nicht klar gemacht. Das ziehbare Objekt ist kein Akkordeonelement selbst, sondern es befindet sich in einem von ihnen. –

5

Meine Antwort gilt für sortables, ich glaube, ziehbare Dinge sollten ähnlich sein. Ich konnte es schaffen, indem ich 'clone' anstelle des Standard 'orginal' benutze und appendTo: 'body' verwende. Es ist komisch, denn wenn Sie das Original als Helfer verwenden, scheint es den Helfer nicht an den Körper anzuhängen, obwohl Sie denken würden, wenn Sie appendTo: 'body' setzen würden. Ich hoffe, du kannst es zum Laufen bringen!

+1

Ich konnte dies mit den Optionen {helper: 'clone', appendTo: 'body'} erledigen – lomaxx

3

Versuchen

$ (".selector") .draggable ({appendTo: 'body'});

+0

Ich suchte überall nach einem Bruchelement aus einer Tabelle zu brechen. Das hat wunderbar für mich funktioniert. Vielen Dank. –

0

Sie können keine Objekte außerhalb eines jQuery-Akkordeons ziehen, da der Überlaufmodus für die Akkordeon-Container ausgeblendet ist.

1) Sie können versuchen, den Überlauf sichtbar zu machen (durch einen Inline Style Override), aber in diesem Fall funktioniert das Akkordeon möglicherweise nicht mehr.

<div id="simpleAccordion" style="overflow: visible;"> 

<h3>Header 1<h3> 
<div>...</div> 

<h3>Header 2<h3> 
<div>...</div> 

<h3>Header 3<h3> 
<div>...</div> 

</div> 
Verwandte Themen