重新初始化(或重新声明)Dojo小部件
Reinitialize (or Re-declare) Dojo widget
我有一段代码,它以以下方式初始化调整大小处理程序:
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
});
这是在一个核心应用程序文件中写的,我无法编辑。我需要重新绑定这个调整大小的处理程序来响应触摸事件。我想覆盖这个小部件,并用"触摸"事件重新绑定调整大小处理程序。差不多吧,
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。
相关文章:
- 将 onClick 侦听器连接到 Dojo 小部件
- 重新初始化(或重新声明)Dojo小部件
- Dojo:小部件实例共享相同的变量
- Dojo 小部件:如何设置小部件内文件的 url
- 同步相互依赖的 Dojo 小部件/值
- 如何通过按 id 注册但未在任何 DOM 节点中引用来删除 dojo 小部件
- 将变量传递给dojo小部件构造函数
- 可以't在自定义dojo小部件内分配onclick事件
- 如何使浏览器源代码对dojo小部件可见
- 如何设置 Dojo 小部件的内部输入元素的 ID
- 使用Solr和JsonRest使用自定义Dojo小部件填充OnDemandGrid
- 对于只能启动一次的DOJO小部件,最佳实践命名约定是什么
- 将aria atributes添加到dojo小部件中
- Dojo小部件id已经注册
- 自定义dojo小部件在单击按钮时不会清除文本字段
- 带有模板的Dojo小部件,在小部件加载时更改模板(添加DOM元素)
- 将实数值绑定到Grails域属性(由Dojo小部件发送的值)
- 如何以编程方式打开从dijit/_HasDropDown继承的dojo小部件
- 将属性传递给dojo小部件并刷新
- 创建一个dojo小部件,通过请求加载另一个页面