2010-06-10 52 views
0

與我的SO問題相關的問題Dojo extending dojo.dnd.Source, move not happening. Ideas?我現在差不多完成了。殺死dojo.dnd.source中的一個節點?

我有一個dnd.Source派生類 - 我們現在可以認爲它是一個dnd.Source,它內部有一個具有特定類的節點。

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

你可以看到我從被註釋掉了,因爲它是完全的n00b :)

如果我做這個變種Y = this.getAllNodes()查詢dojo.destroy(」意思的地方.dndInstructions「)y中的nodelist絕對包含該節點。

現在我不需要殺了它,把它摧毀 - 把它趕出去。離開dnd.Source,離開了DOM ...走了。

任何想法如何安全地做到這一點?當我們做我們所要做的事情時,它將成爲列表中的唯一節點。

謝謝!

回答