gan*_*raj 0 html javascript dojo
我在Dojo有一个奇怪的问题.我的domStyle.set没有按预期工作.我假设它是将样式设置为dom节点的正确方法.
这是描述dom节点的html片段.
<div class="edgePanel" data-dojo-type="dijit.layout.BorderContainer" style="display: table-cell; min- height:70%;" data-dojo-props="region: 'center'">
<div style="display: table; width:100%; height: 100%">
<div style="display: table-row">
<div style="display: table-cell; vertical-align: middle; text-align: center">
<div id="da" name="da" style="background-color: #FFFFFF;width:300px;height:250px; display: inline-block; vertical-align: middle;">
</div>
</div>
</div>
</div>
</div>
Run Code Online (Sandbox Code Playgroud)
da节点是绘图区域节点.我试图用这个javascript文件中的代码更改绘图区域节点的大小.我已经设置了一个调试点,它进入了domStyle.set位置.所以,这不是我绝对愚蠢的情况:)
define(['dojo/_base/declare','../util/XMLLoader',"dojo/query",'dojo/_base/lang',
'dijit/registry','dojo/on',"dojo/dom-style", 'dojo/domReady!'], function (declare,XMLLoader,query,lang,registry,on,domStyle) {
return declare(null, {
setup : function(){
var loader = new XMLLoader();
loader.load("example.xml","editor");
this.resizeDrawingArea();
var selector = query("#sizeSelect")[0];
on(selector,"change",lang.hitch(this,"resizeDrawingArea"));
//
},
resizeDrawingArea : function (evt){
var drawArea = query("#da");
var selector = query("#sizeSelect")[0];
switch(selector.value)
{
case "MPU":
//drawArea.style("width","300px","height","250px");
domStyle.set(drawArea,"width","300px");
break;
case "LDR":
domStyle.set(drawArea,"width","728px");
break;
case "SKY":
break;
case "MSTR":
break;
case "LMPU":
break;
case "STD":
break;
case "WSKY":
break;
case "SQR":
break;
case "SSQR":
break;
}
}
});
});
Run Code Online (Sandbox Code Playgroud)
我的想法是使用"选择"列表来交换不同的大小.它似乎不像预期的那样容易工作.
我在这里做错了吗?如果需要,我很乐意提供更多信息.在这里使用dojo 1.7.2.
即使您指定节点ID(如"#da"),dojo.query也不会返回dom节点本身.它总是返回NodeList.所以你必须改变你的代码,如下所示.
domStyle.set(drawArea[0],"width","300px");
Run Code Online (Sandbox Code Playgroud)
或者您可以使用dojo.byId直接访问dom节点,而不是使用dojo.query.
| 归档时间: |
|
| 查看次数: |
2929 次 |
| 最近记录: |