Почему я должен вызывать $ (": button"). Button (); включить JQuery UI Theme? - PullRequest
4 голосов
/ 23 октября 2011

Я все еще новичок в JQuery и JQuery UI Theme. Мне удалось разработать собственную тему и применить ее на простой тестовой странице с кнопками. Я прочитал документацию и не смог найти, где написано, что я должен явно вызвать $(":button").button();, чтобы применить ее.

Если я этого не сделаю, тема не будет применена. Так почему я должен сделать это явно? Или, если это ожидается от меня, есть ли у кого-нибудь общий сценарий для автоматического применения темы ко всем элементам? Спасибо.

EDIT

Читая ответы и комментарии, некоторые люди подразумевают, что применение темы пользовательского интерфейса является автоматическим, а другие говорят, что его следует применять вручную. Тест на поставленной тестовой HTML-странице указывает на то, что тема должна применяться вручную.

Ответы [ 3 ]

6 голосов
/ 23 октября 2011

Если вы посмотрите на демонстрации , стили кнопок можно применять и к другим элементам, таким как флажки, переключатели и якоря.Пользовательский интерфейс jQuery считает, что лучше указать, к каким элементам должен быть применен этот конкретный стиль, чем пытаться угадать, тем более что указание элементов обычно является однострочным: $(foo).button();

5 голосов
/ 23 октября 2011

Причина, по которой вам нужно вызывать функцию кнопки, заключается в том, что пользовательский интерфейс jQuery может добавить все свои специализированные классы и атрибуты для кнопки.

Если вы начинаете с такой кнопки:

<button type="button">A button element</button>

Он будет заменен следующим:

<button class="ui-button ui-widget ui-state-default ui-corner-all ui-button-text-only" role="button" aria-disabled="false"><span class="ui-button-text">A button element</span></button>
2 голосов
/ 23 октября 2011

Причина, по которой вы должны указать это явно, заключается в том, что не все, кто использует библиотеку, могут захотеть стилизовать все свои кнопки как кнопки пользовательского интерфейса jQuery. Обычно считается желательным отделить "механизм" (который предоставляет пользовательский интерфейс jQuery) от "policy" (который вы решаете); и jQuery отлично позволяет вам в любом случае кратко определять политику.

...