Подтвердить что ты не робот

Почему люди используют 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, которое меня озадачивало, я надеюсь, вы, ребята, можете осветить его для меня.

4b9b3361

Ответ 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.