Что вас больше всего волнует в новых версиях jQuery? [закрытый]
недавно была выпущена новая версия jQuery, jQuery v1.4. Вы можете прочитать все об этом здесь. Это позволяет вам делать некоторые довольно аккуратные вещи, такие как:
$("div.test").bind({
click: function(){
$(this).addClass("active");
},
mouseenter: function(){
$(this).addClass("inside");
},
mouseleave: function(){
$(this).removeClass("inside");
}
});
что тебе больше всего нравится в этой новой версии? Что заставило вас пойти " наконец-то!"?
добавлена щедрость, чтобы получить больше отзывов и принять ответ
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()
...
для меня это было так:
"Все События Могут Быть Живыми Событиями"
" мы очень гордимся тем, что считаем некоторые дополнительные события среди тех поддерживается видео(). 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/