Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/javascript/455.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181

Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/jquery/81.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Javascript Dojo和ajax—使用dojoType attr初始化html_Javascript_Jquery_Ajax_Dojo - Fatal编程技术网

Javascript Dojo和ajax—使用dojoType attr初始化html

Javascript Dojo和ajax—使用dojoType attr初始化html,javascript,jquery,ajax,dojo,Javascript,Jquery,Ajax,Dojo,我有一个页面,页面的多个部分通过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_

我有一个页面,页面的多个部分通过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>

require(“dijit.InlineEditBox”);
require(“dijit.form.TextBox”);
可编辑

如何确保即使在重新加载时,浏览器也会实例化div?

我不确定是否完全按照问题进行了操作,但如果动态加载包含dojoType的内容,则需要在执行innerHTML分配后手动调用dojo.parser.parse()。您还可以考虑将dijit.TitlePane或ContentPane与href属性一起使用

我不确定是否完全理解了这个问题,但是如果要动态加载包含dojoType的内容,则需要在执行innerHTML分配后手动调用dojo.parser.parse()。您还可以考虑将dijit.TitlePane或ContentPane与href属性一起使用

谢谢,我最终选择了dojo.parser.parse(),因为我将jquery和dojo混合在一起,所以ContentPane需要更多的重构hank,我最终选择了dojo.parser.parse()因为我将jquery和dojo混合在一起,所以ContentPane将需要更多的重构