本机Javascript警报样式覆盖删除新行功能
我正在使用一个简单的jQuery插件来设置javascript警报的样式。问题是添加新行的常用方法似乎不起作用。这是插件的javascript,有什么想法吗本机Javascript警报样式覆盖删除新行功能,javascript,jquery,alert,Javascript,Jquery,Alert,我正在使用一个简单的jQuery插件来设置javascript警报的样式。问题是添加新行的常用方法似乎不起作用。这是插件的javascript,有什么想法吗 (function($) { $.fn.customAlert = function(options) { var settings = { 'alertTitle' : 'Notice!', 'alertOk' : 'OK', 'alertClose' : 'x',
(function($) {
$.fn.customAlert = function(options) {
var settings = {
'alertTitle' : 'Notice!',
'alertOk' : 'OK',
'alertClose' : 'x',
'draggable' : false
};
if (options) $.extend(settings, options);
if(document.getElementById) {
window.defaultAlert = window.alert;
window.alert = function(msgTxt) {
if ($('#modalDiv').length > 0) return; // Only ever show one alert
// The modal div to block out the rest of the document whilst the alert is shown
var modalDiv = $('<div></div>');
modalDiv.attr('id', 'modalDiv');
modalDiv.height($(document).height()); // Make overlay cover the whole window
// The alert container
var alertDiv = $('<div></div>');
alertDiv.attr('id', 'alertDiv');
// The alert title
var titleH1 = $('<h1></h1>');
titleH1.addClass('titleH1');
titleH1.text(settings.alertTitle);
// The alert text to display
var msgP = $('<p></p>');
msgP.text(msgTxt);
// OK button - will remove/close the alert on click
var okBtn = $('<a></a>');
okBtn.addClass('okBtn');
okBtn.text(settings.alertOk);
okBtn.attr('href', '#');
// X button - will remove/close the alert on click
var closeBtn = $('<span></span>');
closeBtn.addClass('alert-close');
closeBtn.text(settings.alertClose);
// Append elements to document body
alertDiv.append(titleH1);
alertDiv.append(msgP);
alertDiv.append(okBtn);
alertDiv.append(closeBtn);
$('body').append(modalDiv);
$('body').append(alertDiv);
// Center alert on page
$('#alertDiv').css('top', ($(window).height()/2) - ($('#alertDiv').height()/2)+'px');
$('#alertDiv').css('left', ($(window).width()/2) - ($('#alertDiv').width()/2)+'px');
// Make draggable
if (settings.draggable && $('#alertDiv').draggable) {
$('#alertDiv').draggable({
handle: 'h1',
opacity: 0.4
});
$('#alertDiv h1').css('cursor', 'move');
}
// Bind OK button to remove/close alert
$('#alertDiv .okBtn, #alertDiv .alert-close').bind('click', function(e) {
$('#alertDiv').remove();
$('#modalDiv').remove();
e.preventDefault();
});
};
}
};
})(jQuery);
(函数($){
$.fn.customAlert=函数(选项){
变量设置={
“alertTitle”:“注意!”,
“alertOk”:“OK”,
“alertClose”:“x”,
“可拖动”:false
};
如果(选项)$.extend(设置、选项);
if(document.getElementById){
window.defaultAlert=window.alert;
window.alert=函数(msgTxt){
if($('#modalDiv').length>0)返回;//仅显示一个警报
//显示警报时,modal div将阻止文档的其余部分
var modalDiv=$('');
modalDiv.attr('id','modalDiv');
modalDiv.height($(document.height());//使覆盖层覆盖整个窗口
//警报容器
var alertDiv=$('');
attr('id','alertDiv');
//警报标题
变量titleH1=$('');
titleH1.addClass(“titleH1”);
titleH1.text(settings.alertTitle);
//要显示的警报文本
var msgP=$('');
msgP.text(msgTxt);
//确定按钮-单击后将删除/关闭警报
var okBtn=$('');
okBtn.addClass('okBtn');
文本(settings.alertOk);
okBtn.attr('href','#');
//X按钮-单击后将删除/关闭警报
var closeBtn=$('');
closeBtn.addClass('alert-close');
closeBtn.text(settings.alertClose);
//将元素附加到文档体
alertDiv.append(标题H1);
alertDiv.append(msgP);
alertDiv.append(okBtn);
alertDiv.append(closeBtn);
$('body')。追加(modalDiv);
$('body').append(alertDiv);
//第页的中心警报
$('#alertDiv').css('top',($(window.height()/2)-($('#alertDiv').height()/2)+'px');
$('#alertDiv').css('左',($(window.width()/2)-($('#alertDiv').width()/2)+'px');
//拖拉
if(settings.draggable&&$('#alertDiv').draggable){
$('#alertDiv')。可拖动({
句柄:“h1”,
不透明度:0.4
});
$('#alertDiv h1').css('cursor','move');
}
//绑定确定按钮以删除/关闭警报
$('alertDiv.okBtn,'alertDiv.alertclose').bind('click',函数(e){
$('#alertDiv')。删除();
$('#modalDiv')。删除();
e、 预防默认值();
});
};
}
};
})(jQuery);
我猜这是在上面的查找/n中添加了
或
的一种情况。即使可能,我也不确定如何做到这一点。更改此行:
msgP.text(msgTxt);
到
然后我想你可以使用
和其他html标记。你能不能比“它不起作用”更具体一些?到目前为止,您做了什么来尝试和修复它?我尝试了所有常用的方法,例如:它只显示在一行上。如果我使用常规默认警报,它会像应该的那样显示在单独的行上。是的,但是如何添加这些
?我不能简单地将它们添加到警报呼叫中,否则我似乎会得到:“输入有效电子邮件输入消息
”没有行空格,代码会显示出来。啊哈,如果我在下面的行中从
text
更改为html
,它将起作用-msgP.text(msgTxt)代码>是的,现在一切都好了。非常感谢。
msgP.html(msgTxt);