Вопрос по javascript, jquery – Слушатель событий срабатывает слишком рано при передаче параметров

1

Я передаю несколько параметров в функцию javascript, которая создает форму для заполнения пользователем. Среди этих параметров есть еще две функции, содержащиеся в отдельном классе, которые обрабатывают сохранение или отмену формы. Функция отмены требует двух параметров, которые она использует, чтобы определить, какой список сущностей построить. Проблема заключается в параметрах. Находясь в функции построения формы, если я прикрепил функцию отмены к вновь созданной кнопке отмены, не задавая ей никаких параметров, кнопка функции работает нормально, но создает пустой список из-за отсутствия параметров. Однако, если я присоединяю функцию к параметрам, она срабатывает сразу при создании страницы, а не при нажатии кнопки. Я пытался подключить слушателя несколькими способами, включая javascript, jquery и даже yahoo.util. Все работает правильно в функции отмены, когда она вызывается с параметрами в других случаях. Любые идеи о том, почему функция срабатывает рано, когда параметры передаются?

Вот некоторый sudo-код различных способов, которыми я добавил четного слушателя.

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);
}
Вы должны последовательно использоватьonи не использоватьlive, что устарело. apsillers

Ваш Ответ

1   ответ
3

иначе они будут оценены немедленно:

$("#cancelButton").live("click", function () { cancelFunction(p1, p2); });

Похожие вопросы