Javascript 防止listbox滚动到选中的项目(使用jquery)

Javascript 防止listbox滚动到选中的项目(使用jquery),javascript,jquery,html,dom,listbox,Javascript,Jquery,Html,Dom,Listbox,我有一个列表框,其中的项目可以与其他项目组成一个组。 选择一个项目时,使用jquery选择组中的所有项目 列表框向下滚动到jquery正在选择的项目,这真的很烦人。我想停留在用户选择的项目的位置 那么,在选择项目时,如何防止列表框向下滚动呢 JSFIDLE示例如下: 编辑:点击示例中的项目编号10,他转到78,这就是问题所在。您可以尝试以下方法: $('#lb').change(function() { var x = $(this).scrollTop(); $('#lb

我有一个列表框,其中的项目可以与其他项目组成一个组。 选择一个项目时,使用jquery选择组中的所有项目

列表框向下滚动到jquery正在选择的项目,这真的很烦人。我想停留在用户选择的项目的位置

那么,在选择项目时,如何防止列表框向下滚动呢

JSFIDLE示例如下:

编辑:点击示例中的项目编号10,他转到78,这就是问题所在。

您可以尝试以下方法:

$('#lb').change(function() { 

    var x = $(this).scrollTop();

    $('#lb option:selected').each(function() { 
        var groupName = $(this).attr('group'); 
        if (groupName !== undefined) { 
            $('#lb option[group=' + groupName + ']').each(function() { 
                this.selected = true; 
            }); 
        }

    }); 

     $(this).scrollTop(x); 
} );

它不会在Chrome中滚动…点击第10项,我看到它确实不会在Chrome中滚动。我在IE中遇到了问题。可能想签出-它确实做了“一些事情”:它总是滚动到列表框的顶部,但看起来mousedown选项不起作用,因为它现在总是滚动到顶部。美元之前的}('option')应该是a});编辑的答案。。。它现在在更新前存储滚动。效果很好,唯一的一点是,如果你在选择nr 10后开始滚动,它会在78开始滚动。但是这样更好!