我正在使用selectbox插件的略微修改版本。我做的一个修改是添加一个限制选项容器高度的类,并添加一个滚动条,否则它将超过最近的相对定位父级的高度的50%。但是现在当我尝试单击并拖动容器中的滚动条时(特别是在IE和Chrome中),容器就会消失,就好像我已经点击它一样。
有没有办法检测焦点何时在滚动条上?或者你可以推荐对插件进行任何其他修改,以防止选项消失,直到选择了一个或者容器外部确实存在点击事件?
答案 0 :(得分:1)
当您在创建的ul外部单击时,将其设置为隐藏选择框。当您点击.selectbox-wrapper
时,将其更改为隐藏。
答案 1 :(得分:1)
我最终通过将这些行添加到selectbox插件来解决问题:
$container
.mousedown(function (e) {
hasfocus = 1;
})
.mousemove(function (e) {
hasfocus = 0;
})
.scroll(function (e) {
$input.focus();
});