杀死dojo.dnd.source中的节点?

时间:2010-06-10 07:47:18

标签: javascript dojo drag-and-drop

Dojo extending dojo.dnd.Source, move not happening. Ideas?的问题相关,我现在差不多完成了。

我有一个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);
        }   
    });
}

你可以从dojo.destroy看到我所说的地方,因为它完全是n00b而被注释掉了。)

如果我这样做var y = this.getAllNodes()。query(“。dndInstructions”),y中的nodelist绝对包含节点。

现在我需要杀死它,核对它 - 把它从那里拿出来。在dnd.Source之外,从DOM中消失了......

任何想法如何安全地做到这一点?当我们做任何我们要做的事情来杀死这个东西时,它将成为列表中的唯一节点。

谢谢!

1 个答案:

答案 0 :(得分:1)

对于后代:这个问题在这里得到了解答:http://article.gmane.org/gmane.comp.web.dojo.user/46395