1
Мне было интересно, почему доджо не реагирует на изменения на элементе? Я сделал простой пример, чтобы показать свою проблему!Call resize Method in dojo
<html >
<head>
<script>dojoConfig = {parseOnLoad: true}</script>
<script src='../dojo/dojo.js'></script>
<script>
require([
"dijit/layout/BorderContainer",
"dijit/layout/ContentPane"
]);
require(["dojo/dom","dojo/on","dojo/domReady!"], function(dom, on){
on(dom.byId("tester"),"resize", function() { console.log('window on resize') });
});
</script>
</head>
<body>
<div data-dojo-type="dijit/layout/ContentPane" style="width: 50%;" >
<div data-dojo-type="dijit/layout/BorderContainer" id="tester">
</div>
</div>
</body>
</html>
Все отлично работает, когда я использую on(window,"resize", function());
, но я понятия не имею, почему в приведенном выше примере не работает.
Метод изменения размеров из BorderContainer представляет собой метод виджета, а не метод DOMNode. Вы используете dom.byId («тестер»), которые возвращают узел dom, попробуйте использовать «dijit/registry» .byId, чтобы получить переменную виджета. –
См. Мой «аспект использования, а не включен» в ответах. –