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,3... 次中,弹出窗口显示在当前页面位置的中间)

似乎,这是特定于 chrome 的,因为它不会发生在 FF 或 IE 中。

所以,问题是 - 为什么会发生?以及如何摆脱它?

(我只在第三天写 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 回答