我看到一些非常奇怪的行为。我有两个锚标签,都有数据绑定的点击事件,都发出 ajax 请求。在一种情况下,如果响应是一个数组,则单击将导致页面滚动到顶部。在另一种情况下,如果响应不是数组,则单击根本不会导致页面滚动。
这是我的2个案例
<a data-bind="click: click1">click 1</a> # scrolls to top
<a data-bind="click: click2">click 2</a> # does not scroll
# javascript
function ViewModel() {
var self = this;
self.click1 = function(data, event) {
$.ajax({
url: "/movies", // returns array of movies, scrolls to top
dataType: 'json',
success: function(data, status, xhr) {
movie_list = JSON.parse(xhr.responseText);
self.movies(movie_list);
}
}
self.click2 = function(data, event) {
$.ajax({
url: "/movies/1", // returns just one movie, does not scroll
dataType: 'json',
success: function(data, status, xhr) {
movie_details = JSON.parse(xhr.responseText);
self.movies(movie_details);
}
}
}
ko.applyBindings(new ViewModel());
知道如何阻止第一个案例导致页面滚动到顶部吗?