当尝试将选择列表选项设置为选中以将选择列表滚动到该选项时,它适用于除 Chrome 之外的所有浏览器。在 Chrome中它可以工作一次,但连续的时间在 Chrome 中不起作用。如何确保在选择列表中设置选项的选定属性会将该选项滚动到视图中?
这是我的问题的一个例子 - http://jsfiddle.net/Z2rQG/
我用来在列表中选择一个选项以将其滚动到查看的代码如下:
(function ($) {
$.fn.scrollToOption = function (option) {
var _option = $(option, this);
// if option is in list
if(_option) {
// store the selection state
var isSelected = _option.is(":selected");
_option.prop("selected", true); // scroll to the option
_option.prop("selected", isSelected); // restore the selection state
}
return this;
};
})(jQuery);
编辑:我还尝试了scrollTo jQuery 插件,它在 Chrome 中效果不佳。这是一个例子 - http://jsfiddle.net/kavun/TW4XK/
编辑:这是我想要做的一个更清晰的例子。从选择列表中选择两个选项,然后将列表滚动到最后选择的选项。这适用于除 Chrome 和 Safari 之外的所有浏览器。在 Chrome 中,第一个选择滚动到选项,但第二个$('#select option[value=""].prop('selected', true);
不滚动列表- http://jsfiddle.net/kavun/uhnZH/