jQuery 自动完成行在选择时突出显示

发布于 2024-11-16 19:33:04 字数 621 浏览 1 评论 0原文

我正在使用 jQuery UI 自动完成

当建议框出现并且用户按下向下键(或者将鼠标移到一个建议上)时,我需要突出显示整行。到目前为止,当按下向下键时,只有超链接的背景会突出显示。我尝试设计 ui-state-hover 类的样式,但这仅用于锚元素。我不知道如何突出显示 li 元素。

到目前为止,这是我的 CSS:

.ui-state-hover, .ui-autocomplete li:hover
{
    color:White;
    background:#96B202;
    outline:none;
}

编辑: 为了更清楚一点,自动完成功能会像这样生成其元素:

<ul>
<li><a>an element</a></li>
<li><a>another element</a></li>
</ul>

当按下向下键时,锚元素会自动获取类 ui-state-hover。

I'm using jQuery UI Autocomplete.

When the suggestion box appears and the user presses the Down key (or they move the mouse over one suggestion), I need the entire row to be highlighted. So far, when pressing the Down key, only the background of the hyperlink gets highlighted. I tried styling the ui-state-hover class, but that's only used on the anchor element. I can't figure out how to highlight the li element.

Here's my CSS so far:

.ui-state-hover, .ui-autocomplete li:hover
{
    color:White;
    background:#96B202;
    outline:none;
}

EDIT:
To make it a bit more clear, the autocomplete generates its elements like so:

<ul>
<li><a>an element</a></li>
<li><a>another element</a></li>
</ul>

when the down key is pressed, the anchor element automatically gets the class ui-state-hover.

如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。

扫码二维码加入Web技术交流群

发布评论

需要 登录 才能够评论, 你可以免费 注册 一个本站的账号。

评论(3

轻拂→两袖风尘 2024-11-23 19:33:04

我遇到了完全相同的问题,通过以下方式解决了它:

.ui-state-focus
{
    color:White;
    background:#96B202;
    outline:none;
}

I had exactly the same problem, solved it by:

.ui-state-focus
{
    color:White;
    background:#96B202;
    outline:none;
}
简单爱 2024-11-23 19:33:04

作为 CSS 的初学者,我之前没有看到这一点:我只需要设置锚元素的样式 display:block 即可。万一有人再次遇到这种情况。

Being a beginner in CSS, I didn't see this earlier: I only had to make the anchor element's style display:block. In case anyone ever runs into this again.

注定孤独终老 2024-11-23 19:33:04

您可以使用事件:

yourElement.autocomplete({
        focus: function(event, ui) { console.log(var li = $(event.srcElement).parent()); },
});

li 变量就是您所需要的。您可以按照自己喜欢的方式更改样式或添加类别。

You can use events:

yourElement.autocomplete({
        focus: function(event, ui) { console.log(var li = $(event.srcElement).parent()); },
});

li variable is what you need. You can change style or add class the way you like.

~没有更多了~
我们使用 Cookies 和其他技术来定制您的体验包括您的登录状态等。通过阅读我们的 隐私政策 了解更多相关信息。 单击 接受 或继续使用网站,即表示您同意使用 Cookies 和您的相关数据。
原文