可能在你使用
alert("打开成功!")
的时候,会发现提示框中的中文乱码的情况:
导致的原因可能是 alert 重定向了,那我使用自己封装的弹框。代码如下:
//弹框的封装(确定和取消)
function myAlert(str, click, useCancel) {
var overflow = "";
var $hidder = null;
var clickHandler = click || $.noop;
var myClickHandler = function() {
$hidder.remove();
$("body").css("overflow", overflow);
clickHandler($(this).html() == "确定");
};
var init = function() {
$hidder = $(
"<div style='width:100%;height:100%;background:rgba(0,0,0,0.5);z-index:1000;text-align: center;position:fixed;left:0;top:0;'></div>"
);
var $myalert = $(
"<div style='width:300px;position:absolute;top:30%;left:50%;margin-left:-150px;padding:20px;background:#fff;border-radius:5px;'>" +
"<div style='padding-bottom:10px;border-bottom:1px solid #e5e5e5;font-size:20px;color:#f83;'>提示</div></div>")
.appendTo($hidder);
$("<div style='padding:10px 0;color:#333;border-bottom:1px solid #e5e5e5;'>" + str + "</div>").appendTo($myalert);
var $myalert_btn_div = $("<div style='padding-top:10px;'></div>").appendTo($myalert);
if (useCancel) {
$(
"<div style='float:left;width:50%;border-left:5px solid #fff;border-radius:2px;padding:7px 0;color:#fff;box-sizing:border-box;-moz-box-sizing:border-box;-webkit-box-sizing:border-box;background:#ccc;'>取消</div>"
)
.appendTo($myalert_btn_div).click(myClickHandler);
}
var $okBtn = $(
"<div style='float: right;width:50%;color:#eee;border-radius:2px;padding:7px 0;color: #fff;box-sizing:border-box;-moz-box-sizing:border-box;-webkit-box-sizing:border-box;background:#f83;' class='bluebg1'>确定</div>"
)
.appendTo($myalert_btn_div).click(myClickHandler);
overflow = $("body").css("overflow");
$("body").css("overflow", "hidden").append($hidder);
};
init();
}
加入我全局引用后是这样调用的:
myAlert(mxResources.get('openSuccess'),onclick,true);
其中,openSuccess 是存在 grapheditor.txt中的。
弹框就不会出现中文乱码:
好了,在遇到mxgraph提示框中文乱码可以这样做