jQuery UI 小部件似乎具有非活动、活动和悬停状态,但缺少抑郁(单击并按住)状态。这是疏忽吗?几乎每一个我能想到的现代 UI 都有一个沮丧的状态。有没有人添加这样的状态?如果是这样,您必须接触哪些代码?
编辑:我应该说的是悬停和点击状态看起来是一样的。应该有另一种状态,以便您可以看到您在悬停后单击了。
jQuery UI 小部件似乎具有非活动、活动和悬停状态,但缺少抑郁(单击并按住)状态。这是疏忽吗?几乎每一个我能想到的现代 UI 都有一个沮丧的状态。有没有人添加这样的状态?如果是这样,您必须接触哪些代码?
编辑:我应该说的是悬停和点击状态看起来是一样的。应该有另一种状态,以便您可以看到您在悬停后单击了。
在 HTML/CSS 中,活动状态适用于“当用户激活元素时。例如,在用户按下鼠标按钮并释放它的时间之间”。(CSS 2.1 第5.11.3 节)在按钮的情况下,这将是按下状态。
我只是假设这也适用于 jQuery UI。
不要忘记在你的 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;
}
看来是故意的。请注意,在 Themeroller 中有一个可点击的:活动状态设置区域,但它不像 css 活动状态。jQuery UI 1.7 包的快速 grep 显示没有 :active 的样式。看起来他们设计了 ui 状态来为其小部件提供视觉提示,将 :active 留给开发人员使用。