本机Javascript警报样式覆盖删除新行功能

本机Javascript警报样式覆盖删除新行功能,javascript,jquery,alert,Javascript,Jquery,Alert,我正在使用一个简单的jQuery插件来设置javascript警报的样式。问题是添加新行的常用方法似乎不起作用。这是插件的javascript,有什么想法吗 (function($) { $.fn.customAlert = function(options) { var settings = { 'alertTitle' : 'Notice!', 'alertOk' : 'OK', 'alertClose' : 'x',

我正在使用一个简单的jQuery插件来设置javascript警报的样式。问题是添加新行的常用方法似乎不起作用。这是插件的javascript,有什么想法吗

(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);