JQuery дизайн ошибка или историческая причина? - PullRequest
1 голос
/ 16 ноября 2009

Сегодня день JQuery. Я нашел это в документации:

blur()   Returns: jQuery Triggers the blur event of each matched element.  
blur(fn) Returns: jQuery Bind a function to the blur event of each matched 
                  element.

Другими словами, поведение функции полностью отличается в зависимости от того, принимает она аргумент или нет.

Это ошибка проектирования или для этого есть историческая причина?

Имейте в виду, что я ничего не знаю ни о javascript, ни о jQuery, и я пытаюсь почувствовать это.

Ответы [ 2 ]

2 голосов
/ 16 ноября 2009

Так устроен jQuery, он одинаков для всех событий. Чтобы добавить обработчик к элементу, который вы используете e.blur(function(){...}), и чтобы вызвать событие, вы используете e.blur(). Это имеет смысл, вам просто нужно к этому привыкнуть.

1 голос
/ 16 ноября 2009

Определенно не является ошибкой проектирования, потому что это относится к нескольким событиям, таким как click, однако вы должны использовать .trigger('blur')

Это имеет смысл, потому что .blur() или .click() по своей природе вызывает обработчики событий, связанные с конкретным событием, и все, что делает .blur(fn), это связывает его с .bind('event'), где за сценой регистрируются обработчики событий. 1009 *

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