Как стать автором
Обновить

Комментарии 20

Взял на вооружение. Спасибо! :)
В chromium 18 в демо вижу оригинальные чекбоксы и радио справа от текста. Из них (оригинальных) кликаются только радио.
Оригинальные стоят только для того чтоб показать что все работает. Кликать по ним нет необходимости. Можно добавить overflow:hidden; в стиль для радио и чекбокс оберток.
bind -> live
А стандартный костыль с прозрачным элементом и подложкой в виде картинки нельзя было здесь применить?
Вы извините, но это кошмар.
if (!$(this).prop('disabled')) {
	$(this).parent().mousedown(pushed);
	$(this).parent().mouseup(check);
	$(this).parent().removeClass('disabled');
} else {
	$(this).parent().addClass('disabled');
	$(this).parent().unbind('mousedown', pushed);
	$(this).parent().unbind('mouseup', check);
}


Переписать бы код.
типа так $(this).parent().mousedown(pushed).parent().mouseup(check).parent().removeClass('disabled');?
ну тоесть без парент:)
$(this).parent() выносим в переменную.
if (!$(this).prop('disabled')) {
  $(this).parent().mousedown(pushed).mouseup(check).removeClass('disabled');
} else {
  $(this).parent().addClass('disabled').unbind('mousedown', pushed).unbind('mouseup', check);
}

Думаю так лучше будет т.к. вызов $(this).parent() 1 раз происходит в любом случае.
Все $(this) вынести в $this не помешает, зачем вызывать jq каждый раз. Цепочки само собой.
пасиба постараюсь исправить
Получать каждый раз необходимые элементы заново типичное порождение jQuery :) Просто пользователи jQuery разработчиками не являются, отсюда и такой код.
Немного больше понимания самого js и такого уже не бывает. Все же учатся на чем-то.
Для многих JS это jQuery, о чем речь вообще )
Очень жаль что люди досих пор пишут плагины, а не юишные виджеты. Вроде разница в коде между виджетами и плагинами не большая, но уже намекает на то что человек таки прочел мануал. Из плюсов виджетов стандартное API из коробки, темизация(если автор не поленился реализовать ее поддержку)

PS Прошу прощения за офтоп.
Мне вот что интересно, почему все оборачивают в span, а не в label?
НЛО прилетело и опубликовало эту надпись здесь
странно, что
.attr('checked', false)
.attr('checked', 'checked')
.is(':checked')

но
.prop('disabled')


может так:?
.prop('checked', false)
.prop('checked', true)
.prop('checked')
$('input[name=' + element.attr('name') + ']')

name у элементов может быть и посложнее qname, в т.ч. содержать скобки
спасибо
Зарегистрируйтесь на Хабре, чтобы оставить комментарий

Публикации

Истории