Skip to content
This repository was archived by the owner on Dec 27, 2021. It is now read-only.

Commit 7ab3f61

Browse files
committed
1.5.3.3
1 parent 56156c2 commit 7ab3f61

File tree

5 files changed

+244
-29
lines changed

5 files changed

+244
-29
lines changed

CHANGELOG.md

Lines changed: 217 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,217 @@
1+
# История изменений
2+
3+
## 1.5.3.3 <sup>20.06.2014</sup>
4+
5+
- Исправлено: в одиночном селекте при переключении на пункт с таким же названием, как у выбранного, не срабатывало событие `change`.
6+
- Исправлено: при клике на пункт мультиселекта удалялся класс `.focused`.
7+
- Изменено: при клике на пункт одиночного селекта последнему теперь возвращается фокус (поведение стандартного селекта).
8+
9+
## 1.5.3.2 <sup>07.06.2014</sup>
10+
11+
- Изменено: при открытии селекта поисковое поле теперь не получает фокус, чтобы можно было переключать пункты с клавиатуры.
12+
- Исправлено: при переключении раскрытого селекта с клавиатуры, если присутствовал вертикальный скроллинг, текущий пункт уходил за пределы видимости.
13+
14+
## 1.5.3.1 <sup>02.06.2014</sup>
15+
16+
- Исправлено: не работал `.on('change' ...)` для селектов.
17+
18+
## 1.5.3 <sup>01.06.2014</sup>
19+
20+
- Исправлено: после предыдущего обновления некорректно работал `.trigger('refresh')`.
21+
- Код плагина приведен в порядок в соответствии с рекомендациями jshint.
22+
23+
## 1.5.2 <sup>28.05.2014</sup>
24+
25+
- Исправлено: если у файлового поля есть атрибут `multiple`, то при выборе нескольких файлов отображалось название только одного из них.
26+
- Исправлено: устранена утечка памяти при запуске `.trigger('refresh')`.
27+
- Исправлено: [#44](https://github.com/Dimox/jQueryFormStyler/issues/44).
28+
29+
## 1.5.1 <sup>03.05.2014</sup>
30+
31+
- Исправлено: при динамическом добавлении пунктов в селект переставал открываться выпадающий список в Internet Explorer.
32+
- Добавлено: стили для кнопок с классом `.styler`, имеющих атрибут `disabled`.
33+
34+
## 1.5 <sup>24.04.2014</sup>
35+
36+
- Добавлено: к файловому полю теперь добавляется класс `.changed`, когда файл выбран.
37+
- Исправлено: не всегда корректно добавлялся класс `.focused`, когда селект получал фокус.
38+
- Исправлено: при фокусе на селекте нажатие клавиш Space и Enter открывало нативный список селекта.
39+
- Исправлено: в iOS не добавлялся класс `.changed` при изменении селекта.
40+
- Исправлено: [#38](https://github.com/Dimox/jQueryFormStyler/pull/38).
41+
42+
## 1.4.9 <sup>18.03.2014</sup>
43+
44+
- Добавлены колбеки, срабатываемые при открытии селекта (`onSelectOpened`), при закрытии селекта (`onSelectClosed`) и после выполнения плагина (`onFormStyled`).
45+
- Заменены все `bind` и `unbind` на `on` и `off`.
46+
- Убрано переключение чекбокса по нажатию Enter.
47+
48+
## 1.4.8.3 <sup>01.03.2014</sup>
49+
50+
- Исправлено: [#35](https://github.com/Dimox/jQueryFormStyler/pull/35).
51+
52+
## 1.4.8.2 <sup>26.02.2014</sup>
53+
54+
- Исправлено: [#33](https://github.com/Dimox/jQueryFormStyler/pull/33).
55+
56+
## 1.4.8.1 <sup>17.02.2014</sup>
57+
58+
- Исправлено: не всегда правильно формировалась ширина псевдоселекта.
59+
60+
## 1.4.8 <sup>02.02.2014</sup>
61+
62+
- Изменено: снова переработан способ формирования ширины псевдоселекта. Решил отказаться от возможности задания ширины оригинальному элементу, т.к это только сильно все усложняло. Теперь задать ширину можно только через селекторы <code>.jq-selectbox</code> и <code>.jq-select-multiple</code> для одиночного и мультиселекта соответственно.
63+
- Исправлено: если при повторном выборе файла сделать отмену, то плейсхолдер не возвращался.
64+
65+
## 1.4.7 <sup>21.12.2013</sup>
66+
67+
- Добавлено: на iOS при прокрутке мультиселекта теперь отображается вертикальный скроллинг.
68+
- Добавлено: опция `wrapper` на случай, если стилизуемые элементы находятся вне тега `form`.
69+
- Изменено: доработана функция `preventScrolling()` ([#25](https://github.com/Dimox/jQueryFormStyler/issues/25)).
70+
- Исправлено: если параметр `selectVisibleOptions` был больше нуля, то при каждом последующем клике на селект высота выпадающего списка уменьшалась в 2 раза.
71+
72+
## 1.4.6 <sup>08.12.2013</sup>
73+
74+
- Добавлено: поиск в одиночном селекте и соответствующие опции (`selectSearch`, `selectSearchLimit`, `selectSearchNotFound`, `selectSearchPlaceholder`).
75+
- Исправлено: в Mac OS X нельзя было выбрать несколько значений в мультиселекте (по аналогии с зажатым Ctrl на Windows).
76+
- Изменено: полностью переработана система умного позиционирования для выпадающего списка селекта.
77+
- Изменено: опция `browseText` переименована в `fileBrowse`.
78+
79+
## 1.4.5 <sup>24.11.2013</sup>
80+
81+
- Добавлена поддержка динамического добавления/изменения атрибутов `class`, `id`, `data-*`, `title`.
82+
83+
## 1.4.4 <sup>17.11.2013</sup>
84+
85+
- Добавлена поддержка сброса формы при нажатии на <code>&lt;input type="reset"&gt;</code>.
86+
87+
## 1.4.3 <sup>09.11.2013</sup>
88+
89+
- Решена проблема с селектом в iOS.
90+
91+
## 1.4.2 <sup>03.11.2013</sup>
92+
93+
- Добавлено: свойства <code>margin: 0</code> и <code>padding: 0</code> к оригинальным полям.
94+
- Исправлено: проблема с шириной селекта при изменении размера окна браузера.
95+
96+
## 1.4.1 <sup>27.10.2013</sup>
97+
98+
- Исправлено: доработан способ скрытия чекбоксов и радиокнопок, чтобы они не переключались при клике на область рядом с псевдоэлементами.
99+
100+
## 1.4 <sup>13.10.2013</sup>
101+
102+
- Добавлено: плейсхолдер для поля выбора файла (новая опция - <code>filePlaceholder</code>).
103+
- Изменены стили для поля выбора файла.
104+
- Изменен способ скрытия оригинальных элементов, благодаря чему теперь поддерживается HTML5-валидации.
105+
- Исправлено: ширина селекта, указанная в процентах, теперь меняется, как положено, при изменении ширины его родительского контейнера.
106+
107+
## 1.3.9 <sup>03.10.2013</sup>
108+
109+
- Добавлено: поддержка <code>data-*</code> атрибутов для тега <code>option</code>.
110+
- Изменено: ширину для мультиселекта теперь можно задавать тегу <code>&lt;select&gt;</code>.
111+
- Исправлено: ширина для селекта, указанная в процентах, работала неправильно.
112+
113+
## 1.3.8.2 <sup>06.09.2013</sup>
114+
115+
- Исправлено: при использовании jQuery версий 1.7-1.8.3 после выбора пункта селекта у родительского контейнера удалялись все классы.
116+
117+
## 1.3.8.1 <sup>21.08.2013</sup>
118+
119+
- Исправлена некорректная работа первых двух изменений предыдущей версии плагина в случае, когда для тега `option` добавлялся атрибут `selected`.
120+
121+
## 1.3.8 <sup>12.08.2013</sup>
122+
123+
- Добавлено: в одиночном селекте при выборе пункта, отличного от значения по умолчанию, добавляется класс `.changed`, указывающий, что селект изменен (смотрите примеры).
124+
- Добавлено: если у `option` указан какой-либо класс, то при выборе соответствующего пункта этот класс добавляется к родительскому тегу псевдоселекта (смотрите примеры).
125+
- Изменено: все теги `span` заменены на `div`; ранее это было необходимо для поддержки IE7, в котором свойство `display: inline-block` без хаков работает только для строчных элементов.
126+
- Изменено: полностью изменена методика задания ширины одиночного превдоселекта, теперь ширину можно задавать стандартным способом (т.е. тегу <code>&lt;select&gt;</code>), как если бы плагин был отключен.
127+
- Исправлено: класс `.opened` не всегда удалялся, когда это было нужно.
128+
129+
## 1.3.7 <sup>27.05.2013</sup>
130+
131+
- Добавлено: в псевдоэлементы передается атрибут `title`, указанный у оригинальных элементов.
132+
- Незначительные изменения в файле стилей.
133+
134+
## 1.3.6 <sup>18.05.2013</sup>
135+
136+
- Исправлено: при открытии селекта другие не закрывались.
137+
- Изменено: удалено свойство `float: left` у тега `div.jq-selectbox__select` за ненадобностью.
138+
- Изменено: класс `.jq-selectbox__text` переименован в `.jq-selectbox__select-text`.
139+
140+
## 1.3.5 <sup>01.05.2013</sup>
141+
142+
- Исправлено: ошибка "Maximum recursion depth exceeded" при клике на неактивный чекбокс или радиокнопку.
143+
- Исправлено: баг, связанный c ускорением прокрутки длинного выпадающего списка в селекте после неоднократно раскрытия/скрытия выпадающего списка.
144+
- Изменено: названия некоторых классов заменены на более уникальные.
145+
146+
## 1.3.4 <sup>03.03.2013</sup>
147+
148+
- Исправлено: не работало выделение в мультиселекте в Internet Explorer 8-й и ниже версиях.
149+
150+
## 1.3.3 <sup>08.02.2013</sup>
151+
152+
- Добавлена опция, позволяющая отключать умное позиционирование для выпадающего списка селекта (чтобы он раскрывался всегда вниз).
153+
- Изменен способ скрытия оригинальной радиокнопки (ранее при отсутствии фона у родителя ее было видно).
154+
- Исправлено: в некоторых случаях с псевдо-радиокнопки не снималось отмеченное состояние.
155+
156+
## 1.3.2 <sup>27.01.2013</sup>
157+
158+
- Добавлено: переключение селекта с клавиатуры.
159+
- Добавлено: прокрутка до 1-го выбранного пункта в мультиселекте.
160+
- Добавлено: в псевдоэлементы теперь передаются все `data-*` атрибуты, указанные у оригинальных элементов.
161+
- Исправлено: если в одиночном селекте нет пунктов с атрибутом `selected`, то к первому <code>&lt;li&gt;</code> не добавлялся класс `.selected`.
162+
- Изменено: к атрибуту `id`, передаваемому от стилизуемого элемента, теперь добавляется суффикс (можно указать свой через опцию).
163+
- Изменено: уменьшен z-index по умолчанию для одиночного селекта.
164+
165+
## 1.3.1 <sup>23.01.2013</sup>
166+
167+
- Внесены изменения, необходимые для корректной работы плагина с jQuery 1.9.
168+
- Исправлена ошибка, связанная с неправильной работой динамического изменения селектов.
169+
170+
## 1.3 <sup>17.01.2013</sup>
171+
172+
- Реализована поддержка тега <code>&lt;optgroup&gt;</code> в селекте.
173+
174+
## 1.2.5 <sup>15.01.2013</sup>
175+
176+
- Изменен способ эмуляции <code>&lt;input type="file"&gt;</code>, что позволило избавиться от двух далее описанных багов в Firefox и IE.
177+
- Изменены названия CSS-классов у псевдоэлементов на более уникальные (соответственно, файл jquery.formstyler.css изменен).
178+
- Изменено: опция `zIndex` переименована в `singleSelectzIndex`.
179+
- Исправлено: в браузере Firefox обрабатывался клик по <code>&lt;input type="file"&gt;</code> в состоянии `disabled`.
180+
- Исправлено: в браузере Internet Explorer динамически измененный <code>&lt;input type="file"&gt;</code> не передавал файл на сервер.
181+
- Исправлено: у простого селекта теперь убирается фокус при переключении Tab'ом на другой элемент формы.
182+
- Добавлено: поддержка фокуса для <code>&lt;input type="file"&gt;</code> при нажатии на Tab.
183+
- Добавлено: к родительскому тегу простого селекта добавляется класс `.opened` при раскрытии выпадающего списка.
184+
- Добавлено: CSS-классы, указанные для <code>&lt;option&gt;</code> передаются тегу <code>&lt;li&gt;</code> в псевдоселекте.
185+
- Добавлено: новая опция `selectVisibleOptions` для селекта (см. описание выше в статье).
186+
187+
## 1.2.2 <sup>14.01.2013</sup>
188+
189+
- Исправлен баг в Firefox: если у первого пункта селекта стоял атрибут `selected`, то при выборе любого другого пункта передавалось значение первого.
190+
191+
## 1.2.1 <sup>09.01.2013</sup>
192+
193+
- Псевдоэлементам теперь передаются те же идентификаторы и классы, которые указаны для стилизуемых элементов форм.
194+
- При прокрутке списка одиночного селекта страница теперь не прокручивается (ранее это работало только для мультиселекта).
195+
- При открытии селекта с длинным списком теперь сразу виден выбранный пункт (ранее его могло быть не видно, и приходилось прокручивать список, чтобы его найти).
196+
197+
## 1.2 <sup>26.11.2012</sup>
198+
199+
- Добавлена поддержка атрибута `multiple` для тега <code>&lt;select&gt;</code>.
200+
- Добавлена поддержка атрибута `disabled` для тега <code>&lt;input type="file"&gt;</code>.
201+
202+
## 1.1.3 <sup>20.11.2012</sup>
203+
204+
- Решена возникающая в ряде случаев проблема с селектом в браузере Firefox при использовании атрибута `selected`.
205+
206+
## 1.1.2 <sup>15.10.2012</sup>
207+
208+
- Плагин теперь реагирует на применение метода `change` у тега <code>&lt;input type="radio"&gt;</code>.
209+
- Добавлена опция `zIndex`.
210+
211+
## 1.1 <sup>13.10.2012</sup>
212+
213+
- Добавлена поддержка атрибута `disabled` для тега <code>&lt;select&gt;</code>.
214+
215+
## 1.0 <sup>09.10.2012</sup>
216+
217+
- Первая версия плагина.

README.md

Lines changed: 4 additions & 6 deletions
Original file line numberDiff line numberDiff line change
@@ -1,5 +1,4 @@
1-
jQuery Form Styler <sup>[1.5.3.2](http://dimox.name/jquery-form-styler/#log)</sup>
2-
==================
1+
# jQuery Form Styler <sup>[1.5.3.3](https://github.com/Dimox/jQueryFormStyler/blob/master/CHANGELOG.md)</sup>
32

43
jQuery-плагин для стилизации элементов html-форм:
54

@@ -8,12 +7,11 @@ jQuery-плагин для стилизации элементов html-форм
87
* `<input type="file">`
98
* `<select>`
109

11-
Ссылки
12-
------
10+
## Ссылки
1311

1412
* [Страница с примерами](http://dimox.github.io/jQueryFormStyler/demo/)
1513
* [Домашняя страница плагина](http://dimox.name/jquery-form-styler/)
1614

17-
Лицензия
18-
------
15+
## Лицензия
16+
1917
[MIT](https://github.com/Dimox/jQueryFormStyler/blob/master/MIT-LICENSE)

bower.json

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -1,6 +1,6 @@
11
{
22
"name": "Dimox/jQueryFormStyler",
3-
"version": "1.5.3.2",
3+
"version": "1.5.3.3",
44
"main": "jquery.formstyler.css",
55
"description": "jQuery-плагин для стилизации элементов html-форм",
66
"license": "MIT",

jquery.formstyler.js

Lines changed: 4 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -1,11 +1,11 @@
11
/*
2-
* jQuery Form Styler v1.5.3.2
2+
* jQuery Form Styler v1.5.3.3
33
* https://github.com/Dimox/jQueryFormStyler
44
*
55
* Copyright 2012-2014 Dimox (http://dimox.name/)
66
* Released under the MIT license.
77
*
8-
* Date: 2014.06.07
8+
* Date: 2014.06.20
99
*
1010
*/
1111

@@ -557,9 +557,10 @@
557557

558558
// при клике на пункт списка
559559
li.filter(':not(.disabled):not(.optgroup)').click(function() {
560+
el.focus();
560561
var t = $(this);
561562
var liText = t.text();
562-
if (selectedText != liText) {
563+
if (!t.is('.selected')) {
563564
var index = t.index();
564565
index -= t.prevAll('.optgroup').length;
565566
t.addClass('selected sel').siblings().removeClass('selected sel');
@@ -709,7 +710,6 @@
709710
// при клике на пункт списка
710711
li.filter(':not(.disabled):not(.optgroup)').click(function(e) {
711712
el.trigger('focus.styler');
712-
selectbox.removeClass('focused');
713713
var clkd = $(this);
714714
if(!e.ctrlKey && !e.metaKey) clkd.addClass('selected');
715715
if(!e.shiftKey) clkd.addClass('first');

0 commit comments

Comments
 (0)