Dojo连接多次调用事件处理程序

时间:2013-03-18 21:09:10

标签: dojo event-handling

我的HTML页面中有一个按钮,我正在使用dojo.connect()onclick附加button事件处理程序。我在ajax调用完成后分配此事件处理程序。我遇到一个问题,当我点击按钮一次时,事件hanlder 被多次调用

如果我调用为其分配事件处理程序的方法 同一个按钮上的相同事件,处理程序是否会为该事件调用两次?或者道场足够聪明,只做一次? 例如,

var i=3;
while(i==0){
 dojo.connect(dojo.byId('mybutton'),'onclick','hanlderMethod');
 i--;
}

如果点击“handlerMethod

,我会调用mybutton三次

如果这是真的,那么我的问题与此有关。

2 个答案:

答案 0 :(得分:0)

多次调用handlerMethod。每个活动只有一次。因此,只有当您更改关系(事件,处理程序)时,它才会再次触发。这是一个jsfiddle示例:

http://jsfiddle.net/Ktnab/

function test() {
alert("test");
}

function test2() {
alert("test");
}

dojo.connect(dojo.byId("btn"), "onclick", test);
dojo.connect(dojo.byId("btn"), "onclick", test);

查看关于dojo connect的这篇有趣的文章。

http://www.ibm.com/developerworks/web/library/wa-dojoconnect/index.html?ca=drs-

答案 1 :(得分:0)

我遇到了类似的问题,当事件附件在循环外完成时,这个问题得到了解决。

此致 namratha