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

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

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

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

Что вам больше всего нравится в этой новой версии? Что заставило вас пойти "НАКОНЕЦ"?


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

4b9b3361

Ответ 1

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

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

Много кода, требующего $.each, теперь можно удалить.

Ответ 2

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

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

Ответ 3

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

Ответ 5

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

Ответ 6

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

"Все события могут быть живыми событиями"

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

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

Ответ 7

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

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

Ответ 9

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

Ответ 10

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

Ответ 11

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

Ответ 12

Я думаю, что 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>

Ответ 13

$.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();

Ответ 14

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

Это делает код бесконечно проще, особенно если у вас большая часть DOM создается "на лету" или через запросы Ajax.

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

Ответ 15

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