2010-06-10 9 views
0

Relatif à mon problème SO au Dojo extending dojo.dnd.Source, move not happening. Ideas? J'ai maintenant presque terminé.Supprimer un noeud dans dojo.dnd.source?

J'ai une classe dérivée dnd.Source - on peut la considérer comme une source dnd.Source pour l'instant, qui a en son sein un noeud qui a une classe spécifique.

function declare_mockupSmartDndUl(){ 
    dojo.require("dojo.dnd.Source"); 
    dojo.provide("mockup.SmartDndUl"); 
    dojo.declare("mockup.SmartDndUl", dojo.dnd.Source, { 
     markupFactory: function(params, node){ 
      //params._skipStartup = true; 
      return new mockup.SmartDndUl(node, params); 
     }, 
     onDropExternal: function(source, nodes, copy){ 
      console.debug('onDropExternal called...'); 

      // dojo.destroy(this.getAllNodes().query(".dndInstructions")); 
      this.inherited(arguments); 

      var x = source.getAllNodes().length; 
      if(x == 0){ 
       newnode = document.createElement('li'); 
       newnode.innerHTML = "Hello!"; 
       dojo.addClass(newnode,"dndInstructions"); 
       source.node.appendChild(newnode); 
      } 

      return true; 
      // return dojo.dnd.Source.prototype.onDropExternal.call(this, source, nodes, copy); 
     } 
    }); 
} 

Vous pouvez voir la place que je veux dire de la dojo.destroy qui est commentée parce qu'il était totalement n00b :)

Si je fais var y = this.getAllNodes() requête. (» .dndInstructions ") la nodelist en y contient absolument le noeud. Maintenant, je n'ai plus besoin de le tuer, de le faire exploser, de le sortir de là. Hors du dnd.Source, hors du DOM ... parti.

Des idées pour le faire en toute sécurité? Ce sera le seul nœud de la liste au moment où nous faisons ce que nous voulons faire pour tuer la chose.

Merci!

Répondre

Questions connexes