Twitter Bootstrap Modalがポップアップするようにトリガーするリンクをクリックすると、ブラウザーがページを上にスクロールします。この動作はChromeでのみ発生します。
デモページは次のとおりです。
http://www.turizmburosu.com/test2.aspx
ページには600行のリンクがあり、ページ本体がウィンドウの高さを超えています。これらのリンクのいずれかをクリックすると、モーダルダイアログが表示されます。Chromeの場合、最初のビューの下にあるリンクのいずれかをクリックすると、背景ページが上にスクロールします(必ずしも完全に上に表示されるとは限りません)。
次の関数を使用して、モーダルの表示をトリガーしています。
function test(id, imp) {
$("#modalLabel").html("Header");
$("#modalBody").html("Body");
$("#myModal").modal("show");
}
リンクの形式は次のとおりです。
<a href="" onclick="test();return false;">Test Link ###</a>
Chrome22.0.1229.94mでこの動作が見られます。
なぜこれが起こっているのか、そしてそれを防ぐ方法についての提案/アイデアはありますか?
追加の例
これは、ModalプラグインのTwitterBootstrapドキュメントページで再現できます。
ページが表示されたら、既存のdata-apiをオーバーライドして、代わりにJavaScriptapiを使用します。
$('#modals a[data-toggle="modal"]').on('click',
function(e) {
$('#myModal').modal('toggle');
return false
});
これで、 [デモモーダルの起動]ボタンをクリックすると、モーダルが表示されたときにページが上にスクロールします。
繰り返しますが、これはChromeを使用しています。