Javascript YUI事件效用问题

Javascript YUI事件效用问题,javascript,events,yui,Javascript,Events,Yui,我创建了一个按钮,单击后,它将激活备份功能。 我的问题是,在单击此按钮之前启动了备份。 如何解决此问题?有什么想法吗 这是我的代码(片段): (按钮): (备份功能): 我还尝试: 在(“单击”,saveCuratedQuery(idReq,contentCurveValue)) 但同样的问题 备份在我单击“保存”按钮之前完成 谢谢您的帮助。addListener的第三个参数应该是事件发生时要运行的函数 而是将saveCuratedQuery的返回值传递给它 var callbackSaveCu

我创建了一个按钮,单击后,它将激活备份功能。
我的问题是,在单击此按钮之前启动了备份。
如何解决此问题?有什么想法吗

这是我的代码(片段):

(按钮):

(备份功能):

我还尝试: 在(“单击”,saveCuratedQuery(idReq,contentCurveValue))
但同样的问题
备份在我单击“保存”按钮之前完成


谢谢您的帮助。

addListener的第三个参数应该是事件发生时要运行的函数

而是将saveCuratedQuery的返回值传递给它

var callbackSaveCuratedQuery = function (idReq, contentCurValue) {
    return function callbackSaveCuratedQuery () {
        saveCuratedQuery(idReq, contentCurValue);
    };
}(idReq, contentCurValue); // Use an anonymous closure function
                           // to ensure that these vars
                           // do not change before the click
                           // event fires.

YAHOO.util.Event.addListener("updateCuratedQuery-button", 
                             "click", 
                             callbackSaveCuratedQuery
                            );

看看您是否需要了解闭包。

非常感谢,我有一个备份按钮现在可以使用了!另外,谢谢你的链接(这页上有很多有趣的东西)。
function saveCuratedQuery (geneId,curatedText) {

            var handleSuccessGeneQueries = function(o){
                Dom.get('progress').innerHTML = "Data Saved...";
            }

            var handleFailureGeneQueries = function(o){
               alert("Save failed...")
            }

            var callbackGeneQueries =
            {
              success:handleSuccessGeneQueries,
              failure: handleFailureGeneQueries
            };


   var sUrlUpdate = "save.html?";
   var postData = 'key=saveCuratedQuery&value=gene_id==' +geneId+ '--cq==' +curatedText;

 var request = YAHOO.util.Connect.asyncRequest('POST', sUrlUpdate, callbackGeneQueries, postData);

        }
var callbackSaveCuratedQuery = function (idReq, contentCurValue) {
    return function callbackSaveCuratedQuery () {
        saveCuratedQuery(idReq, contentCurValue);
    };
}(idReq, contentCurValue); // Use an anonymous closure function
                           // to ensure that these vars
                           // do not change before the click
                           // event fires.

YAHOO.util.Event.addListener("updateCuratedQuery-button", 
                             "click", 
                             callbackSaveCuratedQuery
                            );