2013-04-09 28 views
2

我想從dojo 1.7更新到1.8.3,所以我必須替換dojo.connect命令。dojo方面沒有定義,不明白爲什麼

開關:

< 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); 
    } 
)}); 

螢火蟲說: 「方面沒有定義」

PS:我知道我不使用新的AMD裝載機。這是一箇舊的項目,我也是所有道場東西的新手。從dojo.require("x");dojo.require("y");require(["x","y"], function (x,y){...}的簡單翻譯對我來說不起作用,所以仍然有舊式的要求。

+0

我改變dojo.byId到dijit.registry.byId使返回窗口小部件,而不是DOM對象。但是,這當然不會改變任何事情,只是爲了您的信息。 – user2219190 2013-04-09 08:20:56

回答

3

嘗試使用:的

dojo.aspect.after(...); 

代替

aspect.after(...); 

,並在接下來的功能不要停! :-)

如果還是不行,在一次嘗試加載方面的全球性的方式(以一個點,而不是一個斜槓):

dojo.require("dojo.aspect"); 

這也是可能的,舊的道場與「/」不兼容,僅適用於點!

來源:

http://livedocs.dojotoolkit.org/dojo/require

編輯:

這是基於你的撥弄工作小提琴:

http://jsfiddle.net/9Xdv2/

與您的代碼的主要問題是,你沒有解析html。 dojo解析器將一些特定的html轉換爲「dojo javascript對象」! 你使用那種html很多!你應該已經做了:

dojox.mobile.parser.parse(); 

一切都在jsfiddle!

盧西恩

+0

我將其更改爲dojo.aspect.after並將require從/更改爲。但問題仍然存在。使用道場。ready命令修復了方面問題,但現在警報會觸發「undefined」而不是「on」或「off」。真的讓一個新手感到沮喪:(感謝您的幫助:) – user2219190 2013-04-09 08:36:19

+0

您能否使用代碼更新您的問題或更好:轉到jsfiddle.com並嘗試讓您的代碼的本質運行並在原始問題中發佈鏈接。 – 2013-04-09 08:41:34

+0

我更新了上面的代碼。我也試過jsfiddle(我的第一次:)),但dojo不爲我工作(http://jsfiddle.net/HK7at/1/) – user2219190 2013-04-09 09:29:46

2

由於您使用道場1.8.3,並已使用Dojo 1.7,你爲什麼不使用AMD的語法,而不是前1.7? 你會做這樣的事情:

<div id="universalPushSwitch" data-dojo-type="dojox/mobile/Switch" style="float:right" class="mblSwRoundShape1"></div> 

而在你的JS:

​​
+0

也會建議你切換@用戶 – 2013-04-09 13:26:21

+0

我會做所有功能的東西正常工作。我已經嘗試過那樣(當然,我的完整代碼更大,包含的代碼也更大),但它不起作用,所以我把它放在我的待辦事項列表的末尾:)目前,我必須解決xhr的一個問題,如果你有興趣;)http://stackoverflow.com/questions/15904255/dojo-xhr-post-doesnt-work – user2219190 2013-04-09 14:11:33

+1

工作小提琴與這種類型的語法:http://jsfiddle.net/o6xu9b11/ – mbomb007 2016-01-20 17:47:21

相關問題