设置JavaScript警告框中的文本格式

fnvucqvd  于 2023-06-28  发布在  Java
关注(0)|答案(7)|浏览(123)

如何设置JavaScript警告框中的文本格式?我需要在课文中的一个单词下面划线。

58wvjzkj

58wvjzkj1#

您只能使用:

\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转换,所以包含标签和/或样式是不可能的。

lsmepo6l

lsmepo6l2#

使用unicode字符'\u0332'为字符串加下划线,称为COMBINING 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);

此方法不能保证产生平滑的下划线。
Firefox 59上的confirm()示例:

0kjbasz6

0kjbasz63#

不能设置警告框内文本的样式。但是你可以使用模态框解决方案,这里有一个列表可以让你开始:

mgdq6dx1

mgdq6dx14#

在我的例子中,我通过一个JavaScript文件创建了国际化。我需要一个助记符对每个按钮,所以我正在寻找一个简单的解决方案。实际上,我有一个简单的方法来获得想要的结果:
\u0332是Unicode字符COMBINING LOW LINE
使用此字符,您可以在单个字母下划线。
演示:

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

i18n = {};

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

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

iq0todco5#

更新:浏览器已经开始在它们的本地对话框中禁用Unicode支持,所以这是一个死胡同。
正如两个答案所暗示的,解决方案是使用Unicode,但你必须正确地这样做!我还想要一个更可重用的解决方案,在那里我不需要每次都重新发明轮子。所以为了方便起见,我使用了this small JavaScript function

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

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

busg9geu

busg9geu6#

你不能。使用外部库作为JQuery UI Dialog或你自己的实现。

sgtfey8w

sgtfey8w7#

这不可能。你必须使用一个插件。如果你已经安装了jQuery,有很多可以选择。如果没有,这一个看起来很有希望:www.example.com

相关问题