Słuchacz zdarzenia wystrzeliwuje zbyt wcześnie, gdy parametry są przekazywane

Przekazuję liczbę parametrów do funkcji javascript, która buduje formularz do wypełnienia przez użytkownika. Wśród tych parametrów znajdują się dwie dodatkowe funkcje zawarte w oddzielnej klasie, które obsługują zapisywanie lub anulowanie formularza. Funkcja anulowania wymaga dwóch parametrów, których używa do określenia, która lista jednostek ma zostać zbudowana. Problem tkwi w parametrach. Będąc w funkcji budowania formularza, jeśli dołączyłem funkcję anulowania do nowo utworzonego przycisku anulowania bez podania żadnego parametru, przycisk funkcyjny działa dobrze, ale buduje pustą listę z powodu braku parametrów. Jeśli jednak dołączę funkcję do parametrów, funkcja zostanie uruchomiona natychmiast po utworzeniu strony, a nie po kliknięciu przycisku. Próbowałem dołączyć słuchacza na kilka różnych sposobów, w tym javascript, jquery, a nawet yahoo.util. Wszystko działa poprawnie w funkcji anulowania, gdy jest wywoływane z parametrami w innych przypadkach. Jakieś pomysły na to, dlaczego funkcja uruchamia się na początku, gdy parametry są przekazywane?

Oto kilka kodów sudo różnych sposobów dołączenia nawet słuchacza.

function buildform(formData, saveFunction, CancelFunction, p1, p2){
      $("#cancelButton").live("click", cancelFunction(p1, p2);
      YAHOO.util.Event.on("cancelButton", "click", cancelFuntion(p1, p2));
      cancelButton.setAttribute("onClick",cancelFunction(p1, p2);
}

questionAnswers(1)

yourAnswerToTheQuestion