2013-11-25 61 views
0

我有一段代碼,通過以下方式初始化一個resize處理程序:重新初始化(或重新申報)Dojo小部件

這是寫在這我不能編輯應用程序的核心文件。我需要重新綁定這個調整大小處理程序來響應觸摸事件。我正在考慮覆蓋這個小部件,並用「touch」事件重新綁定resize處理程序。像這樣,

this.connect(this.resizeHandle, "touchstart", "_init"); 

我從來沒有在Dojo上工作過。所以,我不確定模塊系統是如何工作的。我嘗試通過更改標識該小部件的字符串來創建新的小部件(「dojox.layout.ResizeHandle」),但沒有運氣。

如何銷燬現有的小部件並重新觸摸事件?

回答

1

此代碼不初始化小部件。 declare函數創建一個類。在這種情況下,它會創建一個名爲「dojox.layout.ResizeHandle」的類。要使用這個類,你需要它,然後實例化它。像這樣的東西

require(["dojox/layout/ResizeHandle"], function(ResizeHandle) { 
    var resize = new ResizeHandle(); 
} 

從那裏你可以附加新的處理程序。

on(resize.resizeHandle, "touchstart", "_init); 

這也是值得指出的是您正在使用舊過時的道場語法(連接VS上,等等),雖然你可以使用道場的舊版本。