添加按钮到div问题

时间:2011-03-22 14:38:31

标签: dojo

我喜欢

var d=dojo.byId('elem');

我想在我的代码中放入三个按钮(当我点击其他div时,我已经点击了click事件)。 我试过了

var button = new dijit.form.Button({
            label: "Click me!",
            onClick: function() {
            }
        },
        "progButtonNode");

d.appendChild(button);

但它不起作用。有人可以帮忙吗?

2 个答案:

答案 0 :(得分:8)

或者:

var button = new dijit.form.Button({
            id: "progButtonNode",
            label: "Click me!",
            onClick: function() {
            }
        }, d);

var button = new dijit.form.Button({
            id: "progButtonNode",
            label: "Click me!",
            onClick: function() {
            }
        });

d.appendChild(button.domNode);   // Should use dojo.place()

dijit的第二个参数是容器DOM节点(在你的情况下是“elem”),而不是你的dijit的节点。

返回的对象是 dijit对象不是 DOM节点。使用“domNode”属性获取dijit的DOM节点。

小心避免使用具有相同ID的多个按钮。应该为每个按钮生成一个新的id,或者让dijit为你生成它们。

答案 1 :(得分:1)

要以编程方式创建dojo按钮,节点“progButtonNode”必须存在于页面上。例如   HTML: ... <身体GT;     < button id =“progButtonNode”type =“button”>     < /按钮> < /体> ...

使用Javascript:

...
  dojo.require("dijit.form.Button");

            dojo.addOnLoad(function() {
                // Create a button programmatically:
                var button = new dijit.form.Button({
                    label: "Click me!",
                    onClick: function() {
                        // Do something:
                        dojo.byId("result1").innerHTML += "Thank you! ";
                    }
                },
                "progButtonNode");

            });
...

道场按钮examples