Javascript Jquery确认对话框出现在页面底部
首先,如果我问了一个愚蠢的问题,我很抱歉,因为我在使用JQuery方面没有太多经验 我的问题是,我正在使用带有YES-NO按钮的Jquery警报(而不是使用带有OK和Cancel按钮的JSP的默认CONFIRM dailog)。现在,当我使用JQuery时,应用程序正在使用Yes-No按钮向用户显示正确的消息,但是警告框没有在屏幕上弹出,而是显示在页面底部 怎么了。。。我找不到任何线索。。。。有什么想法吗Javascript Jquery确认对话框出现在页面底部,javascript,jquery,Javascript,Jquery,首先,如果我问了一个愚蠢的问题,我很抱歉,因为我在使用JQuery方面没有太多经验 我的问题是,我正在使用带有YES-NO按钮的Jquery警报(而不是使用带有OK和Cancel按钮的JSP的默认CONFIRM dailog)。现在,当我使用JQuery时,应用程序正在使用Yes-No按钮向用户显示正确的消息,但是警告框没有在屏幕上弹出,而是显示在页面底部 怎么了。。。我找不到任何线索。。。。有什么想法吗 jQuery.alerts.okButton = ' Yes '; jQuery.aler
jQuery.alerts.okButton = ' Yes ';
jQuery.alerts.cancelButton = ' No ';
jConfirm('Do you want to change the default case?', 'Confirm', function(r) {
if (r == false)
{
alert('No Clicked');
}
else
{
alert('Yes Clicked');
}
});
其中,JConfirm()方法在相关的.JS文件中定义如下
jConfirm = function(message, title, callback) {
$.alerts.confirm(message, title, callback);
};
其中,相关确认方法为:
confirm: function(message, title, callback) {
if( title == null ) title = 'Confirm';
$.alerts._show(title, message, null, 'confirm', function(result) {
if( callback ) callback(result);
});
},
_show: function(title, msg, value, type, callback) {
$.alerts._hide();
$.alerts._overlay('show');
$("BODY").append(
'<div id="popup_container">' +
'<h1 id="popup_title"></h1>' +
'<div id="popup_content">' +
'<div id="popup_message"></div>' +
'</div>' +
'</div>');
if( $.alerts.dialogClass ) $("#popup_container").addClass($.alerts.dialogClass);
// IE6 Fix
var pos = ($.browser.msie && parseInt($.browser.version) <= 6 ) ? 'absolute' : 'fixed';
$("#popup_container").css({
position: pos,
zIndex: 99999,
padding: 0,
margin: 0
});
$("#popup_title").text(title);
$("#popup_content").addClass(type);
$("#popup_message").text(msg);
$("#popup_message").html( $("#popup_message").text().replace(/\n/g, '<br />') );
$("#popup_container").css({
minWidth: $("#popup_container").outerWidth(),
maxWidth: $("#popup_container").outerWidth()
});
$.alerts._reposition();
$.alerts._maintainPosition(true);
switch( type ) {
case 'alert':
$("#popup_message").after('<div id="popup_panel"><input type="button" value="' + $.alerts.okButton + '" id="popup_ok" /></div>');
$("#popup_ok").click( function() {
$.alerts._hide();
callback(true);
});
$("#popup_ok").focus().keypress( function(e) {
if( e.keyCode == 13 || e.keyCode == 27 ) $("#popup_ok").trigger('click');
});
break;
case 'confirm':
$("#popup_message").after('<div id="popup_panel"><input type="button" value="' + $.alerts.okButton + '" id="popup_ok" /> <input type="button" value="' + $.alerts.cancelButton + '" id="popup_cancel" /></div>');
$("#popup_ok").click( function() {
$.alerts._hide();
if( callback ) callback(true);
});
$("#popup_cancel").click( function() {
$.alerts._hide();
if( callback ) callback(false);
});
$("#popup_ok").focus();
$("#popup_ok, #popup_cancel").keypress( function(e) {
if( e.keyCode == 13 ) $("#popup_ok").trigger('click');
if( e.keyCode == 27 ) $("#popup_cancel").trigger('click');
});
break;
case 'prompt':
$("#popup_message").append('<br /><input type="text" size="30" id="popup_prompt" />').after('<div id="popup_panel"><input type="button" value="' + $.alerts.okButton + '" id="popup_ok" /> <input type="button" value="' + $.alerts.cancelButton + '" id="popup_cancel" /></div>');
$("#popup_prompt").width( $("#popup_message").width() );
$("#popup_ok").click( function() {
var val = $("#popup_prompt").val();
$.alerts._hide();
if( callback ) callback( val );
});
$("#popup_cancel").click( function() {
$.alerts._hide();
if( callback ) callback( null );
});
$("#popup_prompt, #popup_ok, #popup_cancel").keypress( function(e) {
if( e.keyCode == 13 ) $("#popup_ok").trigger('click');
if( e.keyCode == 27 ) $("#popup_cancel").trigger('click');
});
if( value ) $("#popup_prompt").val(value);
$("#popup_prompt").focus().select();
break;
case 'confirmyesno':
$("#popup_message").after('<div id="popup_panel"><input type="button" value="' + $.alerts.yesButton + '" id="popup_ok" /> <input type="button" value="' + $.alerts.noButton + '" id="popup_cancel" /></div>');
$("#popup_ok").click( function() {
//alert("press yes button");
$.alerts._hide();
if( callback ) callback(true);
});
$("#popup_cancel").click( function() {
//alert("press no button");
$.alerts._hide();
if( callback ) callback(false);
});
$("#popup_cancel").focus();
break;
}
而_show方法是:
confirm: function(message, title, callback) {
if( title == null ) title = 'Confirm';
$.alerts._show(title, message, null, 'confirm', function(result) {
if( callback ) callback(result);
});
},
_show: function(title, msg, value, type, callback) {
$.alerts._hide();
$.alerts._overlay('show');
$("BODY").append(
'<div id="popup_container">' +
'<h1 id="popup_title"></h1>' +
'<div id="popup_content">' +
'<div id="popup_message"></div>' +
'</div>' +
'</div>');
if( $.alerts.dialogClass ) $("#popup_container").addClass($.alerts.dialogClass);
// IE6 Fix
var pos = ($.browser.msie && parseInt($.browser.version) <= 6 ) ? 'absolute' : 'fixed';
$("#popup_container").css({
position: pos,
zIndex: 99999,
padding: 0,
margin: 0
});
$("#popup_title").text(title);
$("#popup_content").addClass(type);
$("#popup_message").text(msg);
$("#popup_message").html( $("#popup_message").text().replace(/\n/g, '<br />') );
$("#popup_container").css({
minWidth: $("#popup_container").outerWidth(),
maxWidth: $("#popup_container").outerWidth()
});
$.alerts._reposition();
$.alerts._maintainPosition(true);
switch( type ) {
case 'alert':
$("#popup_message").after('<div id="popup_panel"><input type="button" value="' + $.alerts.okButton + '" id="popup_ok" /></div>');
$("#popup_ok").click( function() {
$.alerts._hide();
callback(true);
});
$("#popup_ok").focus().keypress( function(e) {
if( e.keyCode == 13 || e.keyCode == 27 ) $("#popup_ok").trigger('click');
});
break;
case 'confirm':
$("#popup_message").after('<div id="popup_panel"><input type="button" value="' + $.alerts.okButton + '" id="popup_ok" /> <input type="button" value="' + $.alerts.cancelButton + '" id="popup_cancel" /></div>');
$("#popup_ok").click( function() {
$.alerts._hide();
if( callback ) callback(true);
});
$("#popup_cancel").click( function() {
$.alerts._hide();
if( callback ) callback(false);
});
$("#popup_ok").focus();
$("#popup_ok, #popup_cancel").keypress( function(e) {
if( e.keyCode == 13 ) $("#popup_ok").trigger('click');
if( e.keyCode == 27 ) $("#popup_cancel").trigger('click');
});
break;
case 'prompt':
$("#popup_message").append('<br /><input type="text" size="30" id="popup_prompt" />').after('<div id="popup_panel"><input type="button" value="' + $.alerts.okButton + '" id="popup_ok" /> <input type="button" value="' + $.alerts.cancelButton + '" id="popup_cancel" /></div>');
$("#popup_prompt").width( $("#popup_message").width() );
$("#popup_ok").click( function() {
var val = $("#popup_prompt").val();
$.alerts._hide();
if( callback ) callback( val );
});
$("#popup_cancel").click( function() {
$.alerts._hide();
if( callback ) callback( null );
});
$("#popup_prompt, #popup_ok, #popup_cancel").keypress( function(e) {
if( e.keyCode == 13 ) $("#popup_ok").trigger('click');
if( e.keyCode == 27 ) $("#popup_cancel").trigger('click');
});
if( value ) $("#popup_prompt").val(value);
$("#popup_prompt").focus().select();
break;
case 'confirmyesno':
$("#popup_message").after('<div id="popup_panel"><input type="button" value="' + $.alerts.yesButton + '" id="popup_ok" /> <input type="button" value="' + $.alerts.noButton + '" id="popup_cancel" /></div>');
$("#popup_ok").click( function() {
//alert("press yes button");
$.alerts._hide();
if( callback ) callback(true);
});
$("#popup_cancel").click( function() {
//alert("press no button");
$.alerts._hide();
if( callback ) callback(false);
});
$("#popup_cancel").focus();
break;
}
\u显示:函数(标题、消息、值、类型、回调){
$.alerts._hide();
$。警报。_覆盖(“显示”);
$(“正文”)。附加(
'' +
'' +
'' +
'' +
'' +
'');
if($.alerts.dialogClass)$(“#popup_container”).addClass($.alerts.dialogClass);
//IE6修复
var pos=($.browser.msie&&parseInt($.browser.version)我相信这是因为样式。下面的CSS代码应该强制#popup_容器
显示在一个预定义的位置[(0,0)是默认位置]
#popup_container{
position: fixed;
}
如果您使用的是npm:请确保将CSS导入到页面中
e、 g
查看post the code或Fiddle请附加您的代码。如果您动态加载代码,此链接可能会帮助您解决问题,而不是按其应有的方式进行描述。请发布代码我已经发布了代码…..Silveraven,谢谢您的时间,但我无法理解您建议的更改。您可以键入我上述帖子中的确切代码更改吗ed代码…您添加的所有代码都是jQuery。您应该在CSS中为页面设置样式(例如
部分中的
).这正是我的意思。@Silveraven:谢谢你的时间。我的问题现在解决了,但方式略有不同。我必须将“位置”改为“绝对”,而不是“固定”,这对我很有效。好吧,这取决于你想得到什么:)很高兴知道你已经解决了它。