ページ内にそのような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;
これもうまくいきませんでした。何か案は?
アップデート
問題はバックボーンではなく、拡張された 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を適用した後、scrollToに到達しないようです..