将事件连接到使用dojo动态添加dom元素的问题

时间:2011-07-21 09:01:51

标签: javascript javascript-events dojo

您好我将点击事件连接到动态添加的dom元素时遇到问题。我添加了一个像这样的新dom元素:

var link = dojo.create("a",{
                      className: "deleteDnd",
                      innerHTML: "Delete"
                    },this.domNode,"first");

我现在想为这个动态添加的链接添加一个click事件,但是我试图多次添加该事件但是它失败了。我可以在附加元素后使用firebug连接事件。有没有办法在创建元素时连接事件:

var link = dojo.create("a",{
                      className: "deleteDnd",
                      innerHTML: "Delete"
                    },this.domNode,"first");
dojo.event.connect(link, "onclick", function(node, index, nodelist){
                        console.log("was clicked");

                    });

非常感谢任何帮助。

1 个答案:

答案 0 :(得分:1)

在较新版本的Dojo中,函数dojo.event.connect不再存在。请尝试使用dojo.connect代替。

dojo.connect(link, "onclick", function(node, index, nodelist){
        console.log("was clicked");
        console.log(node, index, nodelist); // Only first argument is defined
    });

您还会注意到链接的事件处理函数只会获得一个参数(事件),而不是节点,索引和nodeList。