2012-05-12 82 views
3

有没有方法在dijit.form.button的程序中添加img src标签?dijit.form.button with img src in programmatic

在声明中,我们可以做这样的事情:

<div dojoType="dijit.form.Button"><img src="images/img.png"/></div>

在这种情况下,dijit的按钮完全由图像替换。

如果我尝试这样的事情时,图像不是取代按钮,但出现在:

var button = new dijit.form.Button({ 
     showLabel : false, 
     label : "Validate", 
     iconClass : "alphaIcon validateIcon", 
    }) 

您的帮助将是非常赞赏。

在此先感谢

回答

0

我觉得你的做法应该是你做了什么,并创建自定义CSS来修改外观。

myIconButton.dijitButton .dijitButtonNode { 
    border: 0; 
    background-image: none; 
    background-color: transparent; 
    box-shadow: none; 
} 

var button = ... // same as above 
dojo.addClass(button.domNode, 'myIconButton'); 

要直接回答您的问题,您可以使用只有图像源的自定义模板创建自己的按钮小部件。

dojo.declare("MyIconButton", [Button], { 
    templateString: '<div><img src="${imageSrc}"></img></div>' 
}); 

注:我没有测试这种方法,有可能是因为你需要在MyIconButton因为基Button类会在模板中期待其他节点的其它修改。

+0

感谢您的帮助,我想我会尝试第二个,当它完成时给我们一些反馈 – user1390837

0

我一直在使用一类具有对按钮的背景图像。这真的使它很难动态设置图像。所以,我用这个成功了:

domStyle.set(myButton.iconNode, 'background-image', 'url(images/icon.png)'); 

诀窍是使用iconNode而不是domNode或containerNode。