2009-08-28 90 views
3

是否有可能在JavaScript中的alert()confirm()prompt()對話框來顯示上標字符(不僅是數字)?是否可以在alert()對話框中顯示上標字符?

由於某些原因,我需要插入一個文本:

2,接着上標 'N' 2^N

成JavaScript警告,確認和提示框。快速搜索谷歌沒有幫助,但不完全是我找到了一種方法,以顯示使用Unicode \ u00B人物對話盒上標數字,但它不與字符

alert('2\u00B2'); shows correctly 2^2 
alert('2\u00Bn'); shows 2u00Bn 

因此我們的目標是展示上標字符工作不是數字。


^被用作Power並顯示下一個字符是上標,以防萬一有人感到困惑。

回答

12

有什麼魔力該字符的代碼 - 這恰好是一個欽點爲「上標二」的性格。還有一個 「上標三」(\u00B3)(³)一個 「標一」(\00B9)(¹)和 「上標拉丁小寫字母N」(\u207F)(ⁿ)。但是如果你需要一些其他的上標,那麼你運氣不好 - alert()不會呈現HTML,所以你只能使用Unicode定義的字符。

你可能會更好放棄alert()完全,並模擬在頁面中一個模式對話框。已經有許多庫提供這種功能,包括優秀的jQuery UI Dialog

+0

+1提的jQuery用戶界面。這是最好的選擇警報()遠 - 並允許跨站點一致的外觀。 – 2010-03-16 04:10:18

2

沒有,沒有可靠的方法獲取上標文本到警告框中。你當然可以在頁面上使用HTML <sup>標籤來做,但是在一個警告框中你更加有限。

的問題是:有沒有 「的Unicode \u00B」 字。您使用的字符是\u00B2(定義爲「上標二」)。最後有兩個事實本質上是巧合。例如,代碼點\u00B1是無關的(這是加號/減號)。

有跡象表明,在特定的Unicode版本標,你可以在this search找幾個其他字符,但目前還沒有每一個字母的上標版本。

0

Unicode或UTF-8需要兩對字符或四個十六進制數字來組成一個字符; 00B2被識別爲「上標2」,而00Bn是無效的十六進制值。上標數字1-3是:00B9,00B200B3

不幸的是,沒有不可思議的上標前綴會使下面的字符上標。只有HTML <sup>可以做到這一點,就像Shog所說的那樣,警告會呈現純文本。

相關問題