0

在使用新的 Dojo Event (on) 时,我遇到了很多循环。

我第一次调用 doShowSomeDialog(null)。

为什么这个函数会进入循环?(之前已将对话框声明为 dijit/Dialog)

doShowSomeDialog = function ( value ) {

var selectName = 'selector';

if ( value ) {

    dialog.set("href", "/url/"+ selectName +"/"+ value );

} else {

    dialog.set("href", "/url");        
    dialog.show();
}

dialog.set("onDownloadEnd", function() {

    on( dijit.byId(selectName ), "change", doShowSomeDialog( dijit.byId( selectName ).get('value')  ) );


}); }    

似乎“on”在事件声明上执行。

4

1 回答 1

0

这将在调用时执行该方法。你应该把它包装在它自己的函数中。

doShowSomeDialog( dijit.byId( selectName ).get('value')

应该成为

function() { doShowSomeDialog( dijit.byId( selectName ).get('value'); }
于 2013-07-18T15:02:06.110 回答