我创建了一个多选列表、输入文本框和一个添加按钮。用户可以通过输入框和添加按钮在多选列表中插入新选项。我还创建了一个示例 fiddle :
http://jsbin.com/exuwis/7/edit
我在示例中使用了 knockout.js。选择列表定义为“size="5”。在列表中获得超过 5 个条目后,如果不手动滚动到底部。我希望当用户在列表中输入任何新条目时,滚动条会自动移动到列表底部。我该怎么做?
最佳答案
添加绑定(bind)处理程序:
ko.bindingHandlers.scrollDown = {
update: function (elem, valueAccessor) {
var shouldBeSelected = ko.utils.unwrapObservable(valueAccessor());
if (shouldBeSelected) {
//scroll
$(elem).scrollTop(val);
// back to previous state
var boundProperty = valueAccessor();
if (ko.isWriteableObservable(boundProperty))
boundProperty(false);
}
}};
为滚动元素添加数据绑定(bind):
select data-bind="scrollDown: scrollDown ...
添加到主模型:
self.scrollDown = ko.observable(false);
self.CourseOptions.subscribe(function(){
setTimeout(function () {
self.scrollDown(true);
}, 0);
});
关于javascript - 如何让我的选择列表滚动到底部?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/13153906/