3

这是我的例子。

我正在使用选择框插件的略微修改版本。我所做的修改之一是添加一个限制选项容器高度的类,并在它超过最近的相对定位父级高度的 50% 时添加一个滚动条。但是现在当我尝试单击并拖动容器中的滚动条(特别是在 IE 和 Chrome 中)时,容器会消失,就好像我在它外部单击过一样。

有没有办法检测焦点何时在滚动条上?或者您可以推荐对插件的任何其他修改,以防止选项消失,直到选择一个或容器外确实有一个点击事件?

4

2 回答 2

1

当您在创建的 ul 之外单击时,您已将其设置为隐藏选择框。将其更改为单击时隐藏.selectbox-wrapper

于 2013-01-31T20:33:08.737 回答
1

我最终通过将这些行添加到选择框插件来解决问题:

$container
.mousedown(function (e) {
    hasfocus = 1;
})
.mousemove(function (e) {
    hasfocus = 0;
})
.scroll(function (e) {
    $input.focus();
});
于 2013-02-05T16:52:17.560 回答