我有一个页面,通过ajax加载页面的多个部分,即:
<body>
<script type="text/javascript" src="http://ajax.googleapis.com/ajax/libs/dojo/1.5/dojo/dojo.xd.js"
djConfig="parseOnLoad: true, isDebug:true"></script>
<div class="load_when_user_clicks_here"></div>
<div class="load_when_user_clicks_here"></div>
<div class="load_when_user_clicks_here"></div>
</body>
然后我的javascript将用从服务器获取的html替换innerHTML。我已经能够得到jquery来处理这个并对加载的div进行更改,但是我遇到了Dojo在div上的问题。截至目前,Dojo第一次加载内容时没有问题。但是,当我调用使用ajax从服务器重新加载内容时,下面的dijit.InLineEditBox没有实例化。
以下是从服务器获取的html示例:
<script type="text/javascript">
dojo.require("dijit.InlineEditBox");
dojo.require("dijit.form.TextBox");
</script>
<span style="margin:30px;" dojoType="dijit.InlineEditBox"
editor="dijit.form.TextBox">editable</span>
如何确保即使重新加载,浏览器也会实例化div?
答案 0 :(得分:1)
我不确定我是否完全遵循了这个问题,但是如果您动态加载其中包含dojoType的内容,则需要在执行innerHTML分配后手动调用dojo.parser.parse()。您还可以查看使用dijit.TitlePane或ContentPane和href属性