我的HTML页面中有一个按钮,我正在使用dojo.connect()
为onclick
附加button
事件处理程序。我在ajax调用完成后分配此事件处理程序。我遇到一个问题,当我点击按钮一次时,事件hanlder 被多次调用。
如果我调用为其分配事件处理程序的方法 同一个按钮上的相同事件,处理程序是否会为该事件调用两次?或者道场足够聪明,只做一次? 例如,
var i=3;
while(i==0){
dojo.connect(dojo.byId('mybutton'),'onclick','hanlderMethod');
i--;
}
如果点击“handlerMethod
”
mybutton
三次
如果这是真的,那么我的问题与此有关。
答案 0 :(得分:0)
多次调用handlerMethod。每个活动只有一次。因此,只有当您更改关系(事件,处理程序)时,它才会再次触发。这是一个jsfiddle示例:
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