如何格式化 JavaScript 警告框中的文本?我需要在文本中加下划线。
7 回答
您只能使用:
\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
转换一样,因此不可能包含标签和/或样式。
使用 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 上的示例:
您不能在警告框中设置文本样式。但是您可以改用模态框解决方案,这里有一个列表可以帮助您入门:
- 对话框,来自 jQuery UI
- 简单模态
- 精益模态
- 揭示:jQuery 模态
在我的例子中,我通过一个 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>
你不能。使用外部库作为JQuery UI 对话框或您自己的实现。
非常需要这个,但没有一个答案特别有用。正如两个答案所暗示的,解决方案是使用 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>
应该在所有主要浏览器中产生类似的东西(尝试运行上面的代码片段):
这是不可能的。您必须使用插件。如果您安装了 jQuery,则有很多可供选择。如果不是这个看起来很有希望:http ://simplemodal.plasm.it/#examples