如果根据内容的长度在使用滚动条的元素上绑定滚动事件,如果在使用不需要滚动条的新内容更新元素之前部分向下滚动,似乎会触发滚动事件。
这有点难以解释,所以我整理了以下示例:
var searchList = $('#search-list');
searchList.on('scroll', function() {
console.log('scrollHandler...');
});
$('#reload').on('click', function() {
console.log('reloadSearchList...');
searchList.html('Updated content.');
});
请按照以下步骤重现“奇怪”行为:
测试 1(表现正常,如预期):
- 不要触摸滚动条,只需单击“重新加载按钮”。只有重新加载按钮的处理程序会被触发。
测试 2(表现奇怪,因为触发了滚动事件):
- 向下滚动列表一点点。
- 单击“重新加载按钮”。
这是按预期工作还是错误?