2010-05-10 9 views
0
function rp_marcadesmarcaFarm(valor) { 

    FM_log(3, "marcadesmarcaFarm called = "+valor); 

    for (i = 0; i < farmList.length; i++) { 

     var arr  = farmList[i].split("|"); 
     var xy   = arr[0].split(","); 
     var fvillageId = xy2id(parseInt(xy[0]), parseInt(xy[1])); 

     GM_setValue("farmAtivada_"+suffixLocal+fvillageId, valor); 
     GM_setValue("farmAtivada_"+suffixLocal+i, valor); 
    }; 

    reloadFarmTable(); 
}; 

function createLinkButton(text, title, jsFunction, value) { 

    var button  = dom.cn("a");  
    button.href  = "javascript:void(0)";  
    button.innerHTML = text;  
    button.title  = title; 

    if (jsFunction != null) {  
    button.addEventListener('click', jsFunction, false);  
    } 

    return button;  
} 

createLinkButton("X", T('CHECKFARM_M'), rp_marcadesmarcaFarm(true)); 

apparemment le dernier argument (rp_marcadesmarcaFarm (true)) lors de l'appel de createLinkButton ne fonctionne pas. Si je change pour:Comment passer un argument dans un appel de fonction?

createLinkButton("X", T('CHECKFARM_M'), rp_marcadesmarcaFarm); 

cela fonctionne. Alors, comment puis-je passer la variable (true) au troisième argument de createLinkButton?

Répondre

5
createLinkButton("X", T('CHECKFARM_M'), function() {rp_marcadesmarcaFarm(true)}); 
+0

merci, qui a fait l'affaire !! – FernandoSBS

1

createLinkButton est en attente d'une fonction, mais rp_marcadesmarcaFarm(true) appelle la fonction et passer en fait la valeur de retour.

Ce que vous voulez est une fonction anonyme qui appellera rp_marcadesmarcaFarm(true) et passer que pour createLinkButton

createLinkButton("X", T('CHECKFARM_M'), function(){ rp_marcadesmarcaFarm(true); }); 
+0

parce que quand je clique sur le bouton, il invoque cette fonction qui fait des choses. – FernandoSBS

Questions connexes