在DojoContentPane中加载javascript

在DojoContentPane中加载javascript,javascript,dojo,Javascript,Dojo,我又卡住了。我正在尝试将一些javascript(数字微调器)加载到Dojo内容窗格中。我得到了一个很好的信息: Message: HTML Parsing Error: Unable to modify the parent container element before the child element is closed (KB927917) 这是我的密码。有什么想法吗 <html> <head> <script type="text/javascrip

我又卡住了。我正在尝试将一些javascript(数字微调器)加载到Dojo内容窗格中。我得到了一个很好的信息:

Message: HTML Parsing Error: Unable to modify the parent container element before the child element is closed (KB927917)
这是我的密码。有什么想法吗

<html>
<head>
<script type="text/javascript" src="http://ajax.googleapis.com/ajax/libs/dojo/1.4.0/dojo/dojo.xd.js" djConfig="isDebug: false, parseOnLoad: true"></script>
<link rel="stylesheet" href="http://ajax.googleapis.com/ajax/libs/dojo/1.4/dijit/themes/tundra/tundra.css" /> 
<link rel="stylesheet" href="numberspinner.css" type="text/css" media="screen" />
<script type="text/javascript" src="numberspinner.js"></script>

<script type="text/javascript">
var init = function()
{ dojo.require('dijit.layout.ContentPane');
}
dojo.addOnLoad(init);
</script>

</head>

<body class="tundra">


<div id="notworkingtab" dojoType="dijit.layout.ContentPane" title="Location">

<script type="text/javascript">
var abc= new SpinControl();
abc.SetMaxValue(5);
abc.SetMinValue(0);
abc.SetCurrentValue(0);
abc.SetIncrement(0.5);
document.body.appendChild(abc.GetContainer());
abc.StartListening();
</script>

</div></div>

</body>
</html>

var init=函数()
{dojo.require('dijit.layout.ContentPane');
}
dojo.addOnLoad(init);
var abc=新的SpinControl();
abc.SetMaxValue(5);
abc.SetMinValue(0);
abc.SetCurrentValue(0);
abc.设定增量(0.5);
document.body.appendChild(abc.GetContainer());
abc.StartListening();
如果有人在乎的话,我从这里得到了我的电话号码:

它显示数字微调器,但不显示内容窗格,我得到上面的错误。。。如果我把数字微调器拿出来,内容窗格可以正常工作。或者,如果我取出contentpane,数字微调器工作正常

谢谢
gggggggg

对于任何感兴趣的人,我都会得到它。。金发瞬间


document.getElementById(“myDiv”).appendChild(starting.GetContainer())

对任何感兴趣的人,我都有。。金发瞬间


document.getElementById(“myDiv”).appendChild(starting.GetContainer())

我想我对你的评论/回答是,你是在尝试做这种“非”道场式的事情吗。基本上,通过做您正在做的事情,您将得到一个非常不象dojo的应用程序

如果本机dijit或dojox控件不提供您想要的功能,您最好自己将数字微调器包装为dijit小部件。您可以获得很多优势,比如
dijit.layout.ContentPane
“拥有”子控件并将自动管理它,等等。起初我认为创建自定义小部件会让人望而生畏,但最后一点也不困难

另外,
dijit.layout.ContentPane
通常不允许在加载时运行JavaScript,因为解析器会忽略它。您可以使用
dojox.layout.ContentPane
来提供此功能,但随着时间的推移,我了解到通常我想做的事情可以通过
来完成


从长远来看,我个人认为你会对结果更满意。

我想我对你的评论/回答是,你是在尝试做这种“非”道场式的工作吗。基本上,通过做您正在做的事情,您将得到一个非常不象dojo的应用程序

如果本机dijit或dojox控件不提供您想要的功能,您最好自己将数字微调器包装为dijit小部件。您可以获得很多优势,比如
dijit.layout.ContentPane
“拥有”子控件并将自动管理它,等等。起初我认为创建自定义小部件会让人望而生畏,但最后一点也不困难

另外,
dijit.layout.ContentPane
通常不允许在加载时运行JavaScript,因为解析器会忽略它。您可以使用
dojox.layout.ContentPane
来提供此功能,但随着时间的推移,我了解到通常我想做的事情可以通过
来完成


从长远来看,我个人认为你会对结果感到更高兴。

我认为
dojox.layout.ContentPane
小部件就是你想要的


dojox.layout.ContentPane
是dijit.layout.ContentPane的扩展,提供脚本执行等功能。

我认为
dojox.layout.ContentPane
小部件正是您要寻找的


dojox.layout.ContentPane
是dijit.layout.ContentPane的扩展,提供脚本执行等功能。

感谢您的评论,我将看一看,看看能学到什么。+1是dojox.layout.ContentPane的推荐。早些时候我在寻找解决方案时,粗略地看了一下你的答案,但一定是漏掉了。关于contentPane没有加载脚本等,OP遇到了类似的问题。使用dojox.layout.contentPane而不是dijit.layout.contentPane有效。感谢您的评论,我将查看并了解我可以学到的内容。dojox.layout.contentPane建议+1。早些时候我在寻找解决方案时,粗略地看了一下你的答案,但一定是漏掉了。在contentPane未加载脚本等方面与OP有类似的问题。使用dojox.layout.contentPane而不是dijit.layout.contentPane可以工作。