我有一个ContentPane创建声明和编程.
声明:
<div dojoType="dijit.layout.ContentPane" id="abccp" href="abc.php?id=1" title="abc" onShow="do_abc()">
Run Code Online (Sandbox Code Playgroud)
编程
var obj_abc;
var abchref= "abc.php?id=1";
obj_abc = new dijit.layout.ContentPane({id:'abccp',title:'abc', href:abchref});
Run Code Online (Sandbox Code Playgroud)
如何在程序化的ex中调用do_abc()
为了在技术上等同于你的第一个例子,你只需要包含onShow: do_abc在传递给ContentPane的构造函数的arguments对象中.(注意之后没有括号do_abc- 我们对函数对象本身感兴趣,而不是调用它的结果!)
但是,如果您想以更具可扩展性的方式进行,那么我建议这样做:
obj_abc = new dijit.layout.ContentPane(...);
obj_abc.connect(obj_abc, 'onShow', do_abc);
Run Code Online (Sandbox Code Playgroud)
这样做是执行转播,使得每当obj_abc的onShow方法被调用,该do_abc函数将被依次调用(虽然背景下obj_abc,这大概是你想要什么反正).您还可以获得以下额外奖励:
onShow是一个存储器意味着可以破坏)onShow这种方式连接任意数量的功能dojo.connect手动拆除).欲获得更多信息:
| 归档时间: |
|
| 查看次数: |
10413 次 |
| 最近记录: |