使用dojo我收到错误:无法读取null的属性'style'。不总是,但经常。 我试着弄清楚会发生什么。在我的应用程序中,我需要在我的函数中使用dojo功能,例如:
function updateModifySettings() {
require(["dijit/registry"], function(registry){
var drag = registry.byId("toolbar.modify.drag").checked,
rotate = registry.byId("toolbar.modify.rotate").checked,
resize = registry.byId("toolbar.modify.resize").checked,
...
}
}
我在dojo中很新,不知道如何以正确的方式编写上面的代码。我认为这段代码会导致错误。
答案 0 :(得分:3)
“require”部分应该在函数之外。如果您希望updateModifySettings成为全局函数,请尝试以下:
require(["dijit/registry"], function(registry){
window.updateModifySettings = function () {
var drag = registry.byId("toolbar.modify.drag").checked,
rotate = registry.byId("toolbar.modify.rotate").checked,
resize = registry.byId("toolbar.modify.resize").checked,
...
}
});
Dojo切换到使用1.7中的Asynchronous Module Definition (AMD)格式,这需要一种新的方式来加载它的模块。您可以阅读有关如何在AMD here中构建和引用Dojo模块的信息。
window
object是JavaScript中的顶级对象。通过将函数添加到window
对象,它们可以全局使用。