作者热门文章
- html - 出于某种原因,IE8 对我的 Sass 文件中继承的 html5 CSS 不友好?
- JMeter 在响应断言中使用 span 标签的问题
- html - 在 :hover and :active? 上具有不同效果的 CSS 动画
- html - 相对于居中的 html 内容固定的 CSS 重复背景?
我想从 dojo 1.7 更新到 1.8.3,所以我必须替换 dojo.connect 命令。
切换:
< div id="universalPushSwitch" data-dojo-type="dojox.mobile.Switch" style="float:right" class="mblSwRoundShape1"></div>
现在我有:
dojo.require("dijit/registry");
dojo.require("dojo/ready");
dojo.require("dojox/mobile/ListItem");
dojo.require("dojo/aspect");
dojo.ready(function(){
dojo.aspect.after(dijit.registry.byId("universalPushSwitch"), "onStateChanged",
function(newState){
alert(newState);
}
)});
Firebug 说:“方面未定义”
PS:我知道我不使用新的 AMD 加载程序。这是一个旧项目,我对所有道场的东西也是新的。从 dojo.require("x");dojo.require("y");
到 require(["x","y"], function (x,y ){...}
对我不起作用,所以仍然需要旧样式。
最佳答案
尝试使用:
dojo.aspect.after(...);
代替
aspect.after(...);
并且不要停在下一个函数! :-)
如果这不能立即奏效,请尝试以全局方式加载方面(使用点,而不是斜杠):
dojo.require("dojo.aspect");
也有可能,旧的 dojo 与“/”不兼容,它只适用于点!
来源:
http://livedocs.dojotoolkit.org/dojo/require
这是一个基于你的 fiddle 的工作 fiddle :
您的代码的主要问题是您没有解析 html。 dojo 解析器将一些特定的 html 转换为“dojo javascript 对象”!你经常使用那种 html!你应该做一个:
dojox.mobile.parser.parse();
一切都在 jsfiddle 中!
关于道场方面未定义,不明白为什么,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/15896523/
我是一名优秀的程序员,十分优秀!