Почему люди используют jQuery для основных операций?
Я программист JS, и я много экспериментировал с jQuery, но столкнулся с несколькими загадочными аспектами.
Я чувствую, что люди используют jQuery гораздо больше, чем необходимо. Я просто хочу знать, почему сбор jQuery может быть лучше, чем использование только чистого JS.
Я знаю, что это имеет смысл для webfx, например, для анимации и стирания, но для таких вещей, как добавление прослушивателей событий, кажется, что это просто использовать
obj = document.getElementByID(_ID_);
obj.addEventListener("mousedown"...);
Примером этого является ответ, который я нашел сегодня в StackOverflow о выполнении действия для выделенного текста. Получить выделенный или выделенный текст
В примере, связанном с ответом на http://mark.koli.ch/2009/09/use-javascript-and-jquery-to-get-user-selected-text.html
Парень использует функцию привязки к документу. Зачем использовать bind, а не addEventListener. Также с jQuery все должно быть включено в метод .ready(), как это лучше, чем (или зачем его выбирать)
document.addEventListener('load', function () { ... }, false);
Есть другие случаи, когда я видел использование jQuery, которое меня озадачивало, я надеюсь, вы, ребята, можете осветить его для меня.
Ответы
Ответ 1
Люди используют jQuery, потому что это проще, проще и мощнее, и потому что он помогает им забыть об IE.
Чтобы ответить на ваши конкретные вопросы:
-
В противном случае вам нужно вызвать attachEvent
для IE.
Кроме того, обработка событий jQuery имеет более простой синтаксис и поддерживает живые события.
-
jQuery не требует, чтобы вы поместили все в обработчик ready
; на самом деле лучше переместить код в нижнюю часть страницы и выполнить его немедленно.
В отличие от document.addEventListener('load', ...)
событие jQuery ready
не будет ждать загрузки изображений.
Кроме того, он работает в IE, и он все равно будет запускать ваш код, даже если документ уже загружен.
Ответ 2
Хорошо, on() весьма полезно, потому что addEventListener() поддерживается только с Internet Explorer 9 и далее.
Обратное верно для, например, mouseenter и mouseleave события: это поддерживается только IE (пока), а jQuery имитирует их в других браузерах.
Ответ 3
Самая большая причина для меня - кросс-браузерная совместимость, особенно при обработке событий.
Ответ 4
Идея jquery заключается в следующем: "Пишите меньше, делайте больше".
С тривиальными примерами разница в количестве написанного кода мала, но когда вы начинаете писать более сложные вещи, сила jquery становится очевидной.
В jQuery также много материалов для кросс-браузера, что означает, что вам нужно меньше беспокоиться о конкретном коде браузера.
Ответ 5
Поскольку разработчики jQuery намного умнее, чем я, и часто будут выполнять более эффективный алгоритм, чтобы делать то, что я пытаюсь сделать.
Ответ 6
У меня больше уверенности в том, что jQuery является независимым от платформы, чем с простым JavaScript. По этой причине я испытываю соблазн использовать jQuery как можно больше. И я думаю, что jQuery достаточно хорош и достаточно стабилен для платформы, чтобы абстрагировать некоторые из специфических для браузера осложнений.
Ответ 7
вызывает Cross-Compatible и хорошо поддерживается (подумайте о запросах XHR)... но в каком-то проекте я бы лучше использовал MooTools вместо JQuery из-за отсутствия метода "активов".
Ответ 8
Причина, по которой JQuery остается популярной, заключается в том, что она предоставляет в документ элегантный и хорошо документированный API.