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);
更新:浏览器已经开始在它们的本地对话框中禁用Unicode支持,所以这是一个死胡同。 正如两个答案所暗示的,解决方案是使用Unicode,但你必须正确地这样做!我还想要一个更可重用的解决方案,在那里我不需要每次都重新发明轮子。所以为了方便起见,我使用了this small JavaScript function。
alert('Really need to alert some '+toUnicodeVariant('underlined', 'bold sans', 'underline')+' text');
7条答案
按热度按时间58wvjzkj1#
您只能使用:
因此,您可以插入不同的ASCII字符,但不能格式化它们(如 * 斜体 * 或粗体)。
编辑我还必须提到,事实上
alert
的行为就像toString
转换,所以包含标签和/或样式是不可能的。lsmepo6l2#
使用unicode字符
'\u0332'
为字符串加下划线,称为COMBINING LOW LINE
此方法不能保证产生平滑的下划线。
Firefox 59上的
confirm()
示例:0kjbasz63#
不能设置警告框内文本的样式。但是你可以使用模态框解决方案,这里有一个列表可以让你开始:
mgdq6dx14#
在我的例子中,我通过一个JavaScript文件创建了国际化。我需要一个助记符对每个按钮,所以我正在寻找一个简单的解决方案。实际上,我有一个简单的方法来获得想要的结果:
\u0332
是Unicode字符COMBINING LOW LINE使用此字符,您可以在单个字母下划线。
演示:
iq0todco5#
更新:浏览器已经开始在它们的本地对话框中禁用Unicode支持,所以这是一个死胡同。
正如两个答案所暗示的,解决方案是使用Unicode,但你必须正确地这样做!我还想要一个更可重用的解决方案,在那里我不需要每次都重新发明轮子。所以为了方便起见,我使用了this small JavaScript function。
应该会在所有主流浏览器中产生类似这样的东西(尝试运行上面的代码片段):
busg9geu6#
你不能。使用外部库作为JQuery UI Dialog或你自己的实现。
sgtfey8w7#
这不可能。你必须使用一个插件。如果你已经安装了jQuery,有很多可以选择。如果没有,这一个看起来很有希望:www.example.com