Что вас больше всего волнует в новых версиях jQuery? [закрытый]


недавно была выпущена новая версия jQuery, jQuery v1.4. Вы можете прочитать все об этом здесь. Это позволяет вам делать некоторые довольно аккуратные вещи, такие как:

$("div.test").bind({
  click: function(){
    $(this).addClass("active");
  },
  mouseenter: function(){
    $(this).addClass("inside");
  },
  mouseleave: function(){
    $(this).removeClass("inside");
  }
});

что тебе больше всего нравится в этой новой версии? Что заставило вас пойти " наконец-то!"?


добавлена щедрость, чтобы получить больше отзывов и принять ответ

15 54

15 ответов:

лучшая функция, на мой взгляд, позволяет функции в сеттерах:

jQuery('li.selected').html(function(i, li) {
   return "<strong>" + li + "</strong>";
});

много кода, который требуется $.каждый может быть удален сейчас.

Верьте или нет," наконец " момент для меня было добавление delay():

$("#notice").slideDown('500').delay(4000).slideUp('500'); // = Pure awesome :)

возможность создавать элементы на лету более лаконично, передавая все атрибуты в качестве второго аргумента jQuery():

jQuery('<div/>', {
    id: 'foo',
    mouseenter: function() {
        // do stuff
    },
    html: jQuery('<a/>', {
        href: 'http://google.com',
        click: function() {
            // do stuff
        }
    })
});

все свойства без атрибутов сопоставляются с соответствующим методом jQuery. Так что html там будут называть .html() и наличие click свяжет новый click событие через .click()...

У меня действительно нет фаворита, вот обзор 15 новых функций для тех, кто не знает, что это такое:

http://net.tutsplus.com/tutorials/javascript-ajax/jquery-1-4-released-the-15-new-features-you-must-know/

Я скорость урод, так что любое улучшение скорости всегда приветствуется мной

для меня это было так:

"Все События Могут Быть Живыми Событиями"

" мы очень гордимся тем, что считаем некоторые дополнительные события среди тех поддерживается видео(). 1.4 вводит кросс-браузерной поддержки для изменения, представить события focusin, focusout, события мыши: mouseenter, и mouseleave через событие в делегации .жить.)("

Я ждал этого на событии изменения в течение многих лет!

ну улучшения производительности, конечно, то, что я ценю, но я думаю, я не могу сказать, что это "наконец", так как это то, что подлежит постоянному улучшению :) синтаксис DOM-building (Quick Element Construction) выглядит очень удобно, и detach метод также выглядит вполне пригодным для использования: он позволяет временно удалить объект из DOM, но сохраняет все назначенные ему обработчики, так что он будет работать точно так же, при повторной вставке.

Я думаю, там не так много вещей, которые я пропустил, но теперь, когда эти новые функции там, есть куча, которую я очень хочу начать использовать :)

делегирование событий для событий фокуса и пузыря:

Мне очень нравится delay() и detach () больше всего, если честно. Улучшения производительности также являются огромным плюсом, но delay (), вероятно, является самой удивительной его частью. Простой, но ультра полезный. Больше никаких тайм-аутов ().

Он был очень модульным с 1.3+. Например, когда вам не нужна библиотека ajax, приятно строить без нее. Сохранить размер файла вниз.

Назовите меня сумасшедшим, но только добавленное количество тестов дает мне теплое нечеткое чувство. Я почти хочу озвучить каждый ответ:)_

Я думаю, что unwrap () просто, элегантно, и вы получите innerHTML присутствует в конце!

новый метод разворачивания будет принимать детей данного родителя и заменить сказал родитель с ними. Вот так:

<body>
    <div>
        <p>this</p> <p>is</p> <p>fun</p>
    </div>
</body>

$('div').unwrap();

<body>
   <p>this</p> <p>is</p> <p>fun</p>
</body>
$.proxy()

чтобы убедиться, что этой всегда означает этой, а не это...

пример здесь

MyModule = function() {
  this.$div = $('#testdiv');
  this.myString = "Hi! I'm an object property!";

  this.$div.click($.proxy(this.handleClick, this));
};

MyModule.prototype.handleClick = function() {
  console.log(this.myString); // Hi! I'm an object property!
};

var m = new MyModule();

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

это делает код бесконечно проще, особенно если у вас есть большая часть DOM создается на лету или с помощью Ajax-запросов.

подробнее о live здесь: http://api.jquery.com/live/

live () звонки с такими событиями, как изменение является большим для меня. Я давно хотел это на некоторое время теперь.