在jQuery中,如果我想把按钮样式附加到任何标签上,我可以这样做:
$("a").button();如何使用dojo将按钮样式附加到任何标记?
发布于 2011-10-15 10:36:41
下面是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按钮类。
发布于 2011-10-11 22:45:57
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节点,新元素将被插入(或附加到),原来的节点几乎被替换了。
有关另一个示例(专门针对按钮,但概念类似,请参阅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和work解析。
如果您是Dojo的新手,那么您应该意识到,如果您来自jQuery,那么使用的方法是完全不同的。Dojo使用dojo.require()来包含代码,而不是在HTML中包含Javascript文件,因此,例如,您必须在包含dojo.js之后指定dojo.require("dijit.form.Button") (并指定以下属性
djConfig="parseOnLoad: true"在脚本标记中包含dojo.js,以便自动解析dijit小部件)。
https://stackoverflow.com/questions/7682214
复制相似问题