Frage

Standardmäßig mit einem Dojo.Dnd.Source -Container können Sie Strg zum Duplizieren/Kopieren eines gezogenen Elements halten, anstatt es nur zu verschieben.

Ich weiß, dass Sie Singular = treu setzen können, um zu verhindern, dass mehrere Gegenstände gezogen werden, aber wie kann ich aufhören zu kopieren? Das Duplizieren von Elementen macht im Kontext meiner Elemente keinen Sinn (ich erstelle eine draggable Liste, um Seiten in einem Website -Menü nachzuordnen).

Vielen Dank

War es hilfreich?

Lösung

Ich bin mir nicht sicher, ob es einen schöneren Weg gibt, aber ich habe dies immer erreicht, indem ich das kuschelte copyState Methode in der Quellinstanz, um immer zurückzukehren false.

Wenn Sie mehrere Quellen auf der Seite haben, können Sie sich auch entscheiden dojo.declare eine Unterklasse mit der überschriebenen Methode oder dojo.extend dojo.dnd.Source selbst in allen Fällen die Methode zu kuscheln.

Andere Tipps

Oder zweite Option

dojo.addOnLoad(function(){

    //Disable the key events Ctrl and Shift
    dojo.extend( dojo.dnd.Source, { copyState: function( keyPressed, self ){ 
        return false; }}
    );

    //Create the dnd source object for data point column bar
    columnBar = new dojo.dnd.Source("viewColumnBar",{ singular: true });

});

Dank Ken Franquiero habe ich dieses Problem gelöst. Für andere im selben Boot ist hier mein Code:

/**
 * Extend dojo.dnd.Source to prevent copying
 */

dojo.require( 'dojo.dnd.Source' );
dojo.addOnLoad( function() {

    dojo.declare
    (
        'EditPosition',
        dojo.dnd.Source,
        {
            copyState: function( keyPressed, self )
            {
                return false;
            }
        }
    );

    oEditPosition = new EditPosition
    ( 
        'position_container', 
        {
            withHandles: 'true'
        } 
    );

} );

HTML:

<div id="position_container">
    <div class="dojoDndItem">
        <div class="dojoDndHandle drag_icon drag_handle"></div> <strong>Short Paragraphs</strong>
    </div>
    <div class="dojoDndItem">
        <div class="drag_icon fixed_handle"></div> About Us
    </div>
    <div class="dojoDndItem">
        <div class="drag_icon fixed_handle"></div> Team Members
    </div>
</div>
Lizenziert unter: CC-BY-SA mit Zuschreibung
Nicht verbunden mit StackOverflow
scroll top