35

如何格式化 JavaScript 警告框中的文本?我需要在文本中加下划线。

4

7 回答 7

37

您只能使用:

\b = Backspace 
\f = Form feed 
\n = New line 
\r = Carriage return 
\t = tab
\000 = octal character 
\x00 = hexadecimal character 
\u0000 = hexadecimal unicode character

因此,您可以插入不同的ASCII字符,但不能格式化它们(如斜体粗体)。

编辑我还必须提到,实际上alert就像toString转换一样,因此不可能包含标签和/或样式。

于 2013-07-04T13:08:22.297 回答
9

使用 unicode 字符在字符串下划线'\u0332',称为 aCOMBINING LOW LINE

function underline(s) {
    var arr = s.split('');
    s = arr.join('\u0332');
    if (s) s = s + '\u0332';
    return s;
}

var str = underline('hello world'); // "h̲e̲l̲l̲o̲ ̲w̲o̲r̲l̲d̲"

alert(str);

此方法不能保证产生平滑的下划线。

confirm()Firefox 59 上的示例:

火狐确认u0332

于 2013-07-04T13:25:50.537 回答
3

您不能在警告框中设置文本样式。但是您可以改用模态框解决方案,这里有一个列表可以帮助您入门:

于 2013-07-04T13:00:05.857 回答
2

在我的例子中,我通过一个 JavaScript 文件创建了国际化。我需要每个按钮上的助记符,所以我正在寻找一个简单的解决方案。实际上,我有一个简单的方法来获得想要的结果:

\u0332是 Unicode 字符组合 LOW LINE

使用此字符,您可以在单个字母下划线。

示范:

alert('S\u0332earch - s underlined');

i18n = {};

i18n.SEARCH = "S\u0332earch - s underlined";

document.getElementById('search').innerHTML = i18n.SEARCH;
<button id="search"></button>

于 2015-05-19T08:55:15.200 回答
1

你不能。使用外部库作为JQuery UI 对话框或您自己的实现。

于 2013-07-04T12:58:46.403 回答
1

非常需要这个,但没有一个答案特别有用。正如两个答案所暗示的,解决方案是使用 unicode,但您必须正确执行此操作!我还想要一个更可重用的解决方案,我不需要每次都重新发明轮子。所以为了方便起见,想出了这个小的javascript函数

alert('Really need to alert some '+toUnicodeVariant('underlined', 'bold sans', 'underline')+' text');
<script src="https://rawgithub.com/davidkonrad/toUnicodeVariant/master/toUnicodeVariant.js"></script>

应该在所有主要浏览器中产生类似的东西(尝试运行上面的代码片段):

在此处输入图像描述

于 2018-09-26T22:14:28.587 回答
-1

这是不可能的。您必须使用插件。如果您安装了 jQuery,则有很多可供选择。如果不是这个看起来很有希望:http ://simplemodal.plasm.it/#examples

于 2013-07-04T12:56:36.007 回答