2009-08-28 4 views
3

Можно ли отображать надстрочные символы (а не только цифры) в диалоговых окнах alert(), confirm() или prompt() в JavaScript?Можно ли отображать символы надстрочного символа в диалоговом окне alert()?

Благодаря некоторым причинам мне нужно вставить текст:

2 с последующим верхнего индекса 'п' 2^п

В боевой готовности JavaScript, подтверждения и стремительные коробки. Быстрый поиск Google сделали помощь, но точно не я нашел способ отображения чисел в верхнем индексе диалоговых окон с использованием Unicode \ u00B характера, но он не работает с символами

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

Таким образом, цель, чтобы показать характер верхнего индекса а не число.


^Используется как «Сила» и показывает, что следующий символ переопределяется, на случай, если кто-то запутался.

ответ

12

В этом символьном коде нет ничего волшебного - это просто тот, который выбран для символа «Суперскрипт два». Также есть надпись «Верхний индекс три» (\u00B3) (³) «Верхний индекс» (\00B9) (¹) и «Верхняя латинская малая буква N» (\u207F) (ⁿ). Но если вам нужен какой-то другой надстрочный указатель, вам не повезло - alert() не отображает HTML, поэтому вы ограничены символами, определенными Unicode.

Возможно, вам удастся полностью отказаться от alert() и имитировать модальный диалог внутри самой страницы. Существует множество библиотек для обеспечения этой функциональности, включая отличные jQuery UI Dialog.

+0

+1 для упоминания пользовательского интерфейса jQuery. Это лучшая альтернатива alert() на сегодняшний день - и позволяет последовательно просматривать сайт. –

2

No, нет надежного способа получить надстрочный текст в поле предупреждения. Вы могли бы сделать это на странице, используя тег HTML <sup>, но в окне предупреждения вы более ограничены.

Проблема в том, что символ «Unicode \u00B» отсутствует. Персонаж, который вы используете, - \u00B2 (определяется как «Верхний индекс второй»). Тот факт, что есть два в конце, по существу, является совпадением. Например, код \u00B1 не связан (это знак плюса/минуса).

В Unicode есть несколько других символов, которые имеют специальные версии в юникоде, которые вы можете найти в this search, но не существует надстрочных версий каждой буквы.

0

Unicode, или UTF-8, требует двух пар символов или четырех шестнадцатеричных цифр для создания символа; 00B2 признан «верхним индексом 2», тогда как 00Bn является недопустимым шестнадцатеричным значением. Верхние индексы 1-3: 00B9, 00B2 и 00B3.

К сожалению, нет магического надстрочного префикса, который сделает следующий надстрочный символ. Только HTML <sup> может это сделать, и, как сказал Шог, предупреждение отображает простой текст.

Смежные вопросы