我认为提供隐藏/显示和启用/禁用按钮的简单方法是常识,但我找不到任何描述dojo的文档已经完成了这样的事情。 无论如何,我希望在谷歌搜索时错过了一些东西是我的错,谢谢!
以下编码是我尝试过的,但它们只是使按钮的文本不可见:
dojo.style(btnInsert, {'visibility':'hidden'});
dojo.style(btnInsert, {'display':'none'});
更新问题:
oborden2:
我已经尝试过您的代码,结果与上面的代码相同,这里是捕获的屏幕:
致MiBrock:
我也尝试过你的代码,并得到与上面代码相同的结果:
答案 0 :(得分:10)
Dijit中的表单小部件很特别。对于所有正常的Dijit小部件,小部件的domNode
(最外面的节点)接收id
属性。但是,对于表单小部件,focusNode
(对应于<input>
元素)会接收ID,因此<label for="foo">
之类的内容可以正常工作。在这种情况下,最外面的节点没有ID,你实际上只是隐藏了内部HTML输入元素。
如果您已经引用了小部件:
require([ 'dojo/dom-style' ], function (domStyle) {
domStyle.set(widget.domNode, 'display', 'none');
});
如果您只引用窗口小部件/原始DOM节点的ID:
require([ 'dojo/dom-style', 'dijit/registry' ], function (domStyle, registry) {
domStyle.set(registry.byId(nodeId).domNode, 'display', 'none');
});
答案 1 :(得分:1)
尝试
require(["dojo/dom-style","dojo/domReady!"], function(domStyle){
domStyle.set(dojo.byId(domNode),'display','none');
});
变量“domNode”保留应该受影响的节点的id。这就是我们制作它的方式。
此致,Miriam
答案 2 :(得分:0)
尝试使用Toggler模块
require(["dojo/fx/Toggler"], function(Toggler),{
// Create a new Toggler with default options
var toggler = new Toggler({
node: "btnInsert"
});
// Hide the node
toggler.hide();
// Show the node
toggler.show();
});
http://dojotoolkit.org/reference-guide/1.9/dojo/fx/Toggler.html
我想你会想要使用Dojo的on
模块将其链接到某个事件。将其链接到任何条件触发按钮需要隐藏。