3

有没有办法在程序中为 dijit.form.button 添加 img src 标签?

在声明式中,我们可以这样做:

<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",   
    })

您的帮助将不胜感激。

提前致谢

4

3 回答 3

0

以下将做你想要的

this.button1.attr('label','<img src="' + this.constants.packagePrefix + '/images/button1.gif"/>');

我在这里找到它:http: //mail.dojotoolkit.org/pipermail/dojo-interest/2009-August/038353.html

于 2013-05-30T14:02:48.987 回答
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 类需要模板中的其他节点。

于 2012-05-12T11:59:29.840 回答
0

我一直在为按钮使用带有背景图像的类。这确实使动态设置图像变得困难。所以,我成功地使用了这个:

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

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

于 2015-05-20T19:33:53.283 回答