0

ポップアップ作成用に次のコードを作成しました。

function showPopup(titleString, contentHtml, widthInt, heightInt) {
var popupID = 'dialog-modal';
if ($("#"  + popupID).length == 0) {
    jQuery(document.body).append('<div id="' + popupID + '"/>');
}
var popup = $("#"  + popupID);

popup.html('<div id="' + popupID + '" style="width:100%; height:100%;">' + contentHtml + '</div>');
popup.dialog({
    width : widthInt,
    height : heightInt,
    title : titleString,
    modal : true
});

}

そして、このコードはボタンクリックで呼び出されます...

問題は、ボタンをクリックすると、最初はページが最後までスクロールされ、そこにポップアップが表示されることです。2回目などは起こりません。(つまり、2,3... 回で、現在のページ位置の真ん中にポップアップが表示されます)

FF や IE では発生しないため、これはクロムに固有のようです。

それで、質問は - なぜそれが起こるのですか? そしてそれを取り除く方法は?

(私は 3 日目だけ JS/html について書いています :) 見逃しているかもしれません)

メソッドの呼び出しは、JSF から生成されたボタンによって行われます。

<input type="button" name="form:j_idt85" value="Show list" class="show-list" onclick="showListInPopup()">
4

1 に答える 1

0

jquery ui スタイルシートが含まれていない場合、同じ動作に気付きました。あなたのページに ui スタイルシートはありますか?

そうでない場合は、追加してみてください:

<link rel="stylesheet" href="http://code.jquery.com/ui/1.10.2/themes/smoothness/jquery-ui.css" />
于 2013-03-27T17:58:39.623 に答える