Dojo on (events) 在声明时触发
Posted
技术标签:
【中文标题】Dojo on (events) 在声明时触发【英文标题】:Dojo on (events) firing on declaration 【发布时间】: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”在事件声明上执行。
【问题讨论】:
【参考方案1】:这将在调用时执行该方法。你应该把它包装在它自己的函数中。
doShowSomeDialog( dijit.byId( selectName ).get('value')
应该变成
function() doShowSomeDialog( dijit.byId( selectName ).get('value');
【讨论】:
友好提醒,如果它对您有用,请接受答案。谢谢。以上是关于Dojo on (events) 在声明时触发的主要内容,如果未能解决你的问题,请参考以下文章