是否有可能在警告()对话框,显示标字符?
-
20-09-2019 - |
题
是否有可能在JavaScript显示在alert()
,confirm()
或prompt()
对话盒上标字符(不仅数字)?
由于某些原因,我需要插入一个文本:
2,接着上标 'n' 个 2 ^ N
成JavaScript警报,确认和提示框。快速搜索谷歌没有帮助,但不完全是我找到了一种方法来显示对话盒上标号使用Unicode的 \ u00B 的字符,但它不与字符工作
alert('2\u00B2'); shows correctly 2^2
alert('2\u00Bn'); shows 2u00Bn
因此,目的是显示上标字符数量不限。
^被用作电源,并表明下一个字符上标,以防万一有人被混淆。
解决方案
有什么魔力该字符的代码 - 这恰好是一个钦点为“上标二”的性格。还有一个 “上标三”(\u00B3
)(³)一个 “标一”(\00B9
)(¹)和 “上标拉丁小写字母N”(\u207F
)(ⁿ)。但是,如果你需要一些其他的标,你的运气了 - alert()
不渲染HTML,所以你只限于由Unicode中定义的字符
您可能会更好放弃alert()
完全,并模拟在页面中一个模式对话框。许多库存在已提供此功能,包括优良 jQuery的用户界面对话框。
其他提示
否后,有越来越标文本到一个警告框,没有可靠的方法。你当然可以做它用HTML <sup>
标签页上,但在一个警告框,你是比较有限的。
的问题是:没有“的Unicode \u00B
”字符。您正在使用的字符是\u00B2
(定义为“两标”)。这有两个在最后的事实基本上是巧合。代码点\u00B1
,例如,是不相关的(它的正/负号)。
有有在特定的Unicode版本标,您可以在的此搜索,但也有不是每一个信标的版本。
的Unicode或UTF-8需要两个对字符,或四个十六进制数字来作出的字符; 00B2
被认定为“上标2”,而00Bn
是一个无效的十六进制值。的上标数字1-3是:00B9
,00B2
,和00B3
不幸的是,没有神奇的标前缀,这将使后面的字符标。只有HTML <sup>
能做到这一点,像横移说,警报呈现纯文本。