在jQuery中,如果我想将按钮样式附加到任何标签,我可以这样做:
$("a").button();
如何使用dojo将按钮样式附加到任何标记?
答案 0 :(得分:3)
Dojo方式是以声明方式或以编程方式创建元素。以下是使用dojoType属性创建按钮的声明性示例:
<input id="button1" dojoType="dijit.form.Button" label="Do it!"/>
这是一个程序化示例,其中创建了一个按钮并将其插入到DOM中:
var button = new dijit.form.Button({ label: "Click me!"}, "node_id");
作为第一个参数传递的对象包含实例化控件的属性(在本例中为我们的按钮)。第二个参数是DOM节点,其中将插入新元素(或附加到,而不是 - 原始节点几乎被替换)。
另一个例子(特别是Buttons,但概念类似,请参阅http://dojotoolkit.org/reference-guide/dijit/form/Button.html#dijit-form-button)
关于使用“any”标签的问题(不确定这是否是您所获得的),您可以使用ID定义任何HTML标签,并使用这些方法将其替换为按钮。例如:
<h3 id="button1" dojoType="dijit.form.Button" label="Do it!"></h3>
也会被Dojo解析并工作。
如果您是Dojo的新手,您应该知道如果您来自jQuery,这种方法会有很大不同。 Dojo有一个非常模块化的系统来包含代码,使用dojo.require(),而不是在你的HTML中包含Javascript文件,所以你必须在包含dojo之后指定dojo.require(“dijit.form.Button”) .js(并指定以下属性
djConfig="parseOnLoad: true"
在脚本标记中包含dojo.js以自动解析dijit小部件。)
答案 1 :(得分:1)
这里有一个与dojo中jQuery相当的东西:
// Select all 'a' tags.
dojo.query('a').forEach(function(element) {
// Attach a button to each 'a' tag.
var button = new dijit.form.Button({
onClick: function(){ location.href = element.href; }
}, element);
button.startup();
});
在这里演示:http://jsfiddle.net/rLtNq/。请注意包含claro.css
文件,并且如mydoghasworms所述,您需要dojo.require
按钮类。