javascript - 如何在javascript中设置弹出文本的格式?

标签 javascript jquery popup popupwindow

我想使用 java 脚本格式化弹出文本。但无法这样做。 我做了如下 -

 `var str =  "Your changes won\'t be saved. Please press 'Cancel' to stay on the same page or 'OK' to continue.";
var strbold = str.bold()`
to show this msg i've done the following in the code 
       `       var retval=confirm(strbold);
               if(retval==true){
               isDirty = false;
               $(this).trigger( "click" );`

但在输出中而不是粗体的 msg 中,它看起来像 <b>Your changes won't be saved. Please press 'Cancel' to stay on the same page or 'OK' to continue.<\b>

那么如何设置弹出文本的格式呢? 附注我想要粗体文本。

最佳答案

并非所有最常见的浏览器都支持 str.bold() 方法,但是您可以使用类似的方法

function popup(t){
    function destroy(){
        document.getElementsByClassName("rtPopup")[0].remove()
        document.getElementsByClassName("rtPopupBack")[0].remove()
    }
    var d1=document.createElement("div");
        d1.className="rtPopup"
        d1.innerHTML="<div class='rtPopupX'>X</div>"+t
    var d2=document.createElement("div");
        d2.className="rtPopupBack"
    document.getElementsByTagName("body")[0].appendChild(div1)
    document.getElementsByTagName("body")[0].appendChild(div2)
    var c=document.getElementsByClassName('rtPopupX')
    for(var i=0;i<c.length;i++){
        c[i].onclick=function(){destroy()}
    }
    document.onkeydown=function(e){
        if(e.keyCode==27){
            destroy()
            document.onkeydown=function(e){}
        }
    }
    return{
        destroy:function(){destroy()}
    }
}

它使用扩展的DOM对象,重要的扩展如下

Element.prototype.remove=function(e){
    for(var i=e.length-1;i>=0;i--){
        e[i].parentNode.removeChild(e[i])
    }
}

它将输入作为 HTML 字符串并将其显示为警报,您需要自己添加按钮。 它确实需要一些 CSS

.rtPopup{
    position:fixed;
    top:12.5%;
    left:12.5%;
    height:75%;
    width:75%;
    z-index:1000;
    border-radius:4px;
    background-color:#F9F8F0;
    margin:4px;
}
.rtPopup *{
    margin:5px;
    margin-top:30px;
}
.rtPopupX{
    position:absolute;
    right:5px;
    top:-25px;
    -moz-user-select:none;
    -webkit-user-select:none;
    -o-user-select:none;
    -ms-user-select:none;
    user-select:none;
    cursor:pointer;
}
.rtPopupBack{
    position:fixed;
    top:0;
    left:0;
    width:100%;
    height:100%;
    background-color:black;
    opacity:0.5;
    z-index:999;
}

它来 self 正在开发的 API,因此您可以随意在任何您想要的地方使用它。

关于javascript - 如何在javascript中设置弹出文本的格式?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/25602473/

相关文章:

javascript - 如何使用 jQuery 获取我们正在评论的帖子的 id

java - 如何在另一个包的 JFrame 中使用 JDialog?

javascript - Mui V5 Snackbar 自定义位置

javascript - 如何用 JavaScript 构建计算机模拟器?

javascript - 在 Chrome 控制台中按下按钮时,如何找出调用了哪些函数?

javascript - OpenLayers 3 - map 顶部的 Div 未捕获点击

javascript - 无法在动态创建的元素上绑定(bind)函数

javascript从弹出窗口返回值作为没有输入字段的函数中的变量

javascript - 防止 jQuery Mobile Popup 上的双击关闭行为

javascript - VBScript CreateObject() 的等效 JavaScript 函数是什么