Warning: file_get_contents(/data/phpspider/zhask/data//catemap/5/fortran/2.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Javascript 重新初始化(或重新声明)Dojo小部件_Javascript_Dojo - Fatal编程技术网

Javascript 重新初始化(或重新声明)Dojo小部件

Javascript 重新初始化(或重新声明)Dojo小部件,javascript,dojo,Javascript,Dojo,我有一段代码,用以下方式初始化调整大小处理程序: dojo._hasResource["dojox.layout.ResizeHandle"] = true; dojo.provide("dojox.layout.ResizeHandle"); dojo.experimental("dojox.layout.ResizeHandle"); dojo.declare("dojox.layout.ResizeHandle", [dijit._Widget, dijit._Templated], {

我有一段代码,用以下方式初始化调整大小处理程序:

dojo._hasResource["dojox.layout.ResizeHandle"] = true;
dojo.provide("dojox.layout.ResizeHandle");
dojo.experimental("dojox.layout.ResizeHandle");
dojo.declare("dojox.layout.ResizeHandle", [dijit._Widget, dijit._Templated], {
   _init: function(){},
   create: function(){
      this.connect(this.resizeHandle, "mouseover", "_init");
   }
   // ... more properties
});
这是写在一个核心应用程序文件,我不能编辑。我需要重新绑定此调整大小处理程序以响应触摸事件。我正在考虑覆盖这个小部件,并用“touch”事件重新绑定resize处理程序。诸如此类

this.connect(this.resizeHandle, "touchstart", "_init");
我以前从未在Dojo上工作过。因此,我不确定模块系统是如何工作的。我尝试通过更改标识小部件的字符串(“dojox.layout.ResizeHandle”)来创建一个新的小部件,但没有成功


如何销毁现有小部件并使用触摸事件重新绑定

此代码不会初始化小部件。declare函数创建一个类。在本例中,它创建了一个名为“dojox.layout.ResizeHandle”的类。要使用这个类,您需要它,然后实例化它。像这样的

require(["dojox/layout/ResizeHandle"], function(ResizeHandle) {
    var resize = new ResizeHandle();
} 
从那里可以附加新的处理程序

on(resize.resizeHandle, "touchstart", "_init);
还值得指出的是,您使用的是旧的不推荐的dojo语法(connect vs on等),尽管您可能使用的是旧版本的dojo