JQuery Change () и One () функция? - PullRequest
2 голосов
/ 20 апреля 2011

Мне бы очень хотелось узнать, что делает следующая строка кода jquery:

$('input', f).add('textarea', f).add('select', f).change(enable).one('blur', function () {

 //commands go here

});

Может кто-нибудь объяснить мне первую строку кода?

Ответы [ 3 ]

5 голосов
/ 20 апреля 2011

Эта строка принимает каждый элемент input, textarea и select в каком-либо другом объекте jQuery, f, и связывает обработчик события изменения, который представляет собой некоторую функцию с именем enable. Затем он подключает событие к методу onblur тех объектов, которые выполняются не более одного раза.

Линия:

$('input', f).add('textarea', f).add('select', f)

Действительно эквивалентно:

$('input, textarea, select', f)

, который выбирает объединение всех этих элементов в некотором контексте, f. Затем ознакомьтесь с документацией для change () и one () для полного объяснения.

1 голос
/ 20 апреля 2011
  1. $('input', f) - найти все <input/> элементы в контексте f
  2. .add('textarea', f).add('select', f) добавить дополнительные элементы в первый соответствующий набор снова в контексте f
  3. .change(enable) зарегистрировать обработчик .change() для всех элементов объекта jQuery (input, textarea и select)
  4. .one("blur", function(){} ) привязать один обработчик размытия к каждому из элементов в объекте jQuery.
1 голос
/ 20 апреля 2011

Назначение всех этих команд можно узнать, просмотрев jQuery API онлайн.
добавить ()
изменение ()
один ()

...