格式化 JavaScript 警告框中的文本

Posted

技术标签:

【中文标题】格式化 JavaScript 警告框中的文本【英文标题】:Format the text in JavaScript alert box 【发布时间】:2013-07-02 11:46:15 【问题描述】:

如何?我需要在文本中添加下划线。

【问题讨论】:

【参考方案1】:

非常需要这个,但没有一个答案特别有用。正如两个答案所暗示的,解决方案是使用 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>

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

【讨论】:

我在 Windows 上的 Chrome 91 中得到一串带下划线的框。【参考方案2】:

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

Dialog,来自 jQuery UI Simple Modal leanModal Reveal: jQuery Modal

【讨论】:

【参考方案3】:

在我的例子中,我通过一个 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>

【讨论】:

【参考方案4】:

使用 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() 示例:

【讨论】:

我需要一个提示框来在“是”中为 Y 下划线。 Y\u0332es。谢谢你。我刚刚测试了var str = underline(underline('hello world'));,如果有人想要的话,它会使下划线加倍。你也可以像这样给它 3 等等:var str = underline(underline(underline('hello world')));【参考方案5】:

您只能使用:

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

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

编辑我还必须提一下,事实上alert 的作用类似于toString 转换,因此不可能包含标签和/或样式。

【讨论】:

可以用unicode字符'\u0332'下划线; alert('h̲e̲l̲l̲o̲');(虽然可能不是实线) @PaulS。 yep,但无论如何都没有下划线 可以和hexa numbers一起做一些有趣的事情 谢谢,但我很好奇您希望 \fFormFeed 在 alert 内完成什么?【参考方案6】:

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

【讨论】:

【参考方案7】:

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

【讨论】:

以上是关于格式化 JavaScript 警告框中的文本的主要内容,如果未能解决你的问题,请参考以下文章

通过javascript或jquery从输入框中获取包含月-日期格式的值

在页面加载时修复文本框中的日期格式

JavaScript 文本框中的默认文本

如何在 JavaScript 中的单击输入框中选择文本? [复制]

javascript 在文本框中的最后一个字符后设置光标/焦点

使用 user32.dll 从 vb.net 中的 javascript 警报框中获取文本