javascript,dojo,在带有附件的jsp中构建对话框

时间:2011-05-25 14:34:55

标签: javascript dojo

我在dojo对话框中使用闭包来防止函数和变量发生冲突。

我有一个包含复杂对话框的jsp页面。它主要是工作。只是一个非常讨厌的细节。如果窗口小部件更改我如何通知处理程序方法?我们希望尽可能多地将对话框的java脚本保存在闭包中。

由于弹出窗口出现在多个位置,我希望未来的程序员能够用任何东西替换myVar。有没有办法确定正确放入onChange的内容

------ jsp页面-----
var myVar = new MyNewPopupStuff(42);
myVar.contstrucDialog();
......
includeTemplate template="myDialog.jsp"
.....

--------myDialog.jsp----
< script type="text/javascript" src="my.js"/>

.....

< div id="myDialogData" dojotype="dijit.layout.ContentPane" region="right" splitter="true" class="data" style=" width:50%; " > <\/div>
....

--------my.js file----


< script type="text/javascript" src="my.js"/>

1 个答案:

答案 0 :(得分:0)

如果您正在使用为函数实现EcmaScript 5绑定方法的框架,请使用:

onChange: modifyOnChange.bind(this),

否则自己实现:

onChange: (function(self) {
    return function() {
        return modifyOnChange.apply(self, arguments);
    }
})(this),

myVar.modifyOnChange可能会起作用,但是如果你把代码绑定到你期望持有对象的全局,那么将东西抽象到类中是什么意思呢?如果有人想要添加另一个MyNewPopupStuff对象会发生什么?