Может ли jQuery добавить функцию плагина для будущих членов .class? - PullRequest
0 голосов
/ 28 января 2011

Вот что-то, что я не знаю, возможно ли это, но вот мой вопрос:

В моем приложении jQuery есть динамически добавленные поля ввода. Например, кнопка «Добавить нового клиента» добавляет новую форму ввода после текущей. Пока все хорошо!

Однако мне нужно добавить функции маски, которые я хочу, в каждое вновь создаваемое поле, например:

$("#customer_zipcode\\["+customerCount+"\\]).zipcodeMask(....);

zipcodeMask(...) - это просто пример функции, которая проверяет правильность введенного пользователем почтового индекса. Другие подобные маски для телефонных номеров, кредитных карт и т. Д. Эта часть прекрасно работает, но я должен установить ее для каждого вновь созданного элемента, для которого я хочу иметь маску почтового индекса.

Я думал, что было бы замечательно, если бы было что-то вроде .live(), которое могло бы делать вызов .zipcodeMask() для каждого будущего экземпляра поля почтового индекса.

Я думал, что создам класс, такой как "UseZipCodeMask", и сделаю что-то вроде class="UseZipCodeMask" в каждом поле ввода, для которого требуется маска почтового индекса.

Когда я делаю это:

$(".UseZipCodeMask").zipcodeMask(....);

Это прекрасно работает - для каждого существующего элемента, который имеет этот класс. Если я создаю новое поле с этим классом, функция .zipcodeMask(...) не работает.

Можно ли сделать так, чтобы поля моего почтового индекса автоматически устанавливались для .zipcodeMask(...)? Это немного очистит код, есть много кода, который добавляет .zipcodeMask() и другие связанные функции каждый раз, когда создаются новые поля ввода.

Большое спасибо!

1 Ответ

0 голосов
/ 11 марта 2011

Какую версию jquery вы используете?Вы можете использовать .delegate, что означает, что вам не нужно будет «добавлять плагин» во вновь созданные элементы.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...