我在页面中有这样的 div
<div class="test">Click here</div>
和关于它的事件
events: {
'click .test': 'myFunc',
},
它打开对话窗口,但在 Internet Explorer v9 和 v10 下,页面滚动到顶部。调试后我无法跟踪问题。
我还尝试在点击时滚动到链接,这是代码:
var x = (window.pageXOffset !== undefined) ? window.pageXOffset : (document.documentElement || document.body).scrollLeft,
y = (window.pageYOffset !== undefined) ? window.pageYOffset : (document.documentElement || document.body).scrollTop;
这也没有奏效。有任何想法吗?
更新
问题不在于 Backbone,问题在于扩展的 jQuery 焦点功能。请看一下:
var originalFocus = $.fn.focus;
$.fn.focus = function () {
if (this.hasClass('no-scroll')) {
var x = (window.pageXOffset !== undefined) ? window.pageXOffset : (document.documentElement || document.body).scrollLeft,
y = (window.pageYOffset !== undefined) ? window.pageYOffset : (document.documentElement || document.body).scrollTop;
originalFocus.apply(this, arguments);
window.scrollTo(x, y);
} else {
return originalFocus.apply(this, arguments);
}
};
在其他浏览器中效果很好,但在 IE 中不行,似乎在应用 IE 后无法滚动到 ..