Dojo и ajax - инициализация HTML с помощью атрибута dojoType - PullRequest
1 голос
/ 20 декабря 2010

У меня есть страница, на которой есть несколько частей страницы, загруженной через 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 заменит innerHTML на html, полученный с сервера.Мне удалось заставить 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?

1 Ответ

1 голос
/ 20 декабря 2010

Я не уверен, что точно следую вопросу, но если вы динамически загружаете контент, в котором есть dojoType, вам нужно будет вручную вызвать dojo.parser.parse () после выполнения присвоения innerHTML.Вы также можете посмотреть на использование dijit.TitlePane или ContentPane со свойством href

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...