【问题标题】:Dojo on (events) firing on declarationDojo on (events) 在声明时触发
【发布时间】:2013-07-18 14:58:12
【问题描述】:

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

我第一次调用 doShowSomeDialog(null)。

为什么这个函数会进入循环? (dialog 之前被声明为 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”在事件声明上执行。

【问题讨论】:

    标签: events dojo


    【解决方案1】:

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

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

    应该变成

    function() { doShowSomeDialog( dijit.byId( selectName ).get('value'); }
    

    【讨论】:

    • 友好提醒,如果它对您有用,请接受答案。谢谢。
    猜你喜欢
    • 2020-10-30
    • 2013-03-24
    • 2017-03-09
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2016-12-16
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多