В интерфейсе jQuery отсутствует состояние? - PullRequest
1 голос
/ 28 января 2009

Виджеты пользовательского интерфейса jQuery, по-видимому, имеют неактивное, активное и наведенное состояния, но не имеют подавленного (нажатого и удерживаемого) состояния. Это недосмотр? Почти каждый современный пользовательский интерфейс, о котором я могу думать, имеет депрессивное состояние. Кто-нибудь добавил такое состояние? Если да, то к каким частям кода вы должны были прикоснуться?


Edit: я должен был сказать, что состояния зависания и щелчка выглядят одинаково. Должно быть другое состояние, чтобы вы могли видеть, что вы щелкнули после наведения.

Ответы [ 3 ]

1 голос
/ 29 января 2009

Не забывайте, что в вашем CSS вы можете комбинировать псевдо-селекторы:

a:link {
    color: blue;
}
a:hover {
    color: green;
}
a:visited {
    color: purple;
}
a:active {
    /* link is active */
    color: red;
}
a:visited:hover {
    /* hovering on a visited link */
    color: pink;
}
a:active:hover {
    /* hovering on an active link */
    color: black;
}
a:visited:active:hover {
    color: fuchsia;
}

Существует определенная разница между a:active и a:active:hover: ссылка может стать активной, если к ней подключиться с помощью клавиатуры. Хотя это не на 100% надежно, состояние активности и зависания предполагает, что у пользователя нажата ссылка. Изменение стиля границы даст вам желаемый эффект. Единственная ошибка в этом случае, если ссылка становится активной, а затем пользователь наводит курсор на нее, не щелкая, она все равно будет нажата.

Попробуйте этот CSS, чтобы понять, что я имею в виду:

a {
    padding: 5px 10px;
    background-color: gray;
    border-color: gray;
    border-style: outset;
}
a:active:hover {
    border-style: inset;
}
1 голос
/ 28 января 2009

В HTML / CSS активное состояние применяется, «когда элемент активируется пользователем. Например, между моментами, когда пользователь нажимает кнопку мыши и отпускает ее». (Раздел 2.1 CSS 5.11.3 ) В случае кнопок это будет нажатое состояние.

Я просто предполагаю, что это относится и к пользовательскому интерфейсу jQuery.

0 голосов
/ 14 апреля 2009

Это выглядит специально. Обратите внимание, что в Themeroller есть область настроек активного состояния, активируемая кликом, но она не ведет себя как активное состояние css. Быстрый grep пакета jQuery UI 1.7 не показывает стиль для: active. Похоже, что они разработали состояние пользовательского интерфейса для визуальных подсказок своим виджетам, оставляя: active для разработчика.

...