Обновить
75
0
Калашников Игорь@return

Пользователь

Отправить сообщение
Вы серьезно думаете что это претендует на звание аналога jQuery?
Точно, опечатался с setAttribute. Хотел написать «Пробежались бы по объекту for'ом и задали свойства напрямую», конечно.

Извините что потревожил, я не хотел обидеть, просто у меня возникло ощущение того, что Вы так пишете, потому что не представляете как работает jQuery. Оказалось, это неправда.
Вы странный, используете jQuery и, тем не менее не хотите им пользоваться. Если бы Вас волновало быстродействие, то Вы бы пробежались по объекту for'ом и задали атрибутам значения через setAttribute, потому что extend с ним тоже не сравнится :) Выбрали jQuery — пишите на нем и пишите красиво, чего возмущаться. Вы же даже data-атрибуты вешаете через attr, разве это ок?

А вообще, милости прошу в мою серию статей о jQuery, возможно Вы узнаете что-то новенькое.
У Вас какие-то странные представления о минимизации, если бы Вы и заботились о ней, то написали бы совсем другой код.
В чем выигрыш задания свойств — я тоже не понимаю. Тем более что в случае boolean-атрибутов jQuery значение свойства тоже меняет. Что contentEditable, что value, text, даже html можно задать с помощью указанного выше мной способа. Даже если не хотите избавляться от метода, то не стоит его писать в jQuery, у Вас же есть свой jQuery.suitUp, почему бы туда не положить?
Тоесть Ваш вариант

$._createElement('a', {
    'className': 'link'
    'href': '#'
} );

чем-то лучше чем

$('<a>', {
    'class': 'link'
    'href': '#'
} );

?
jQuery._createElement = function( tagName, props ) {
	return $( $.extend( document.createElement( tagName ), props ) );
};

О ужас! Зачем же Вы так? Грешновато, грешновато.
Да уж, с исправлениями багов, касающихся расширений, у них в багтрекере всегда все как-то очень вяло.
Спасибо, рад что интересно.
Наврал я про нестрогое сравнение, оказывается. Там сейчас так:
+data + "" === data ? +data
Как раз число приводится обратно к строке и сравнивается.

Так что все ок, где можно — число остается числом:
> $('<span data-tweet-id="288852939949350900">').data()
Object {
    tweetId: 288852939949350900
}

> $('<span data-tweet-id="288852939949350910">').data()
Object {
    tweetId: "288852939949350910"
}
Возможно, раньше был такой баг, но сейчас он уже не должен воспроизводиться, судя по коду. Там после приведения к числу значение нестрого сравнивается с исходной строкой и остается числом в результате только если равенство удовлетворяется.
Упомяну про эту особенность в посте чуть позже, когда за компьютером буду.
Чорт, а я специально немного отошел от кода после комментария о том, что статьи на диктант по исходникам похожи :) Спасибо за отзыв.
А насчет сравнения — привычка такая просто. По-моему так даже читается удобнее. Но тема для холивара, да.
Я тоже хотел запостить и уйти на боковую :) Но что-то в праздники совсем режим, которого и так не было толком, еще больше съехал.
namespace как генератор события deprecated, а множественная запись с этим никак не связана, все те же:

$([selector]).data( {
    'key1': 'value1',
    'key2': 'value2'
} );
Про Storage не знал, спасибо. Очень не хватало такой штуки когда-то.
Кстати, в примерах Вы таки работаете с sync, а не local.
Главное отличие на мой взгляд — гораздо более жесткие требования к секьюрити. Обязательное соблюдение CSP было для меня в свое время нехилой головной болью при миграции с первой на вторую версию.

А так — просто небольшое изменение формата.
Ну почему же устаревшие, на developer.chrome.com все актуально обычно, даже доки для Canary-версий есть.
Вычислить пересечения всегда быстрее полной перерисовки.
В мобильном Safari подергивается, видно что телефон напрягается. В версии с LibCanvas такого нет.
Mootools настолько интересный? Или по каким-то причинам просто пришлось с ним работать?
Тем не менее, многим страшно (еще бы, 10 килострок не всегда простого кода), а кто-то считает что и так все понятно что там.
Я и стараюсь все попроще объяснить, лезу в код и брожу туда-сюда дебаггером. После этого больше людей захотят посмотреть внутрь, все будет не так страшно.
Надеюсь :)

Информация

В рейтинге
Не участвует
Откуда
Москва, Москва и Московская обл., Россия
Дата рождения
Зарегистрирован
Активность

Специализация

Бэкенд разработчик
Ведущий
JavaScript
TypeScript
Node.js
NestJS
Jest