webentwicklung-frage-antwort-db.com.de

Formatieren Sie den Text im JavaScript-Benachrichtigungsfeld

Wie kann ich den Text in einer JavaScript-Benachrichtigungsbox formatieren? Ich brauche ein Wort im Text, um unterstrichen zu werden.

26
praveen

Sie können nur verwenden:

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

Sie können also andere ASCII -Zeichen einfügen, diese jedoch nicht formatieren (wie kursiv oder bold).

EDIT Ich muss auch erwähnen, dass alert tatsächlich als toString-Konvertierung fungiert, sodass das Einfügen von Tags und/oder Stilen nicht möglich ist.

25
vladkras

Unterstreichen Sie eine Zeichenfolge mit dem Unicode-Zeichen '\u0332', genannt 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);

Es kann nicht garantiert werden, dass diese Methode eine glatte Unterstreichung erzeugt.

Beispiel für confirm() in Firefox 59:

 firefox confirm u0332

9
Paul S.

Sie können den Text nicht in einem Benachrichtigungsfeld formatieren. Sie können jedoch stattdessen eine modale Box-Lösung verwenden. Hier eine Liste, um den Einstieg zu erleichtern:

3
Igor

In meinem Fall habe ich die Internationalisierung durch eine JavaScript-Datei erstellt. Ich brauchte für jede Taste eine Mnemonik, also suchte ich nach einer einfachen Lösung. Eigentlich habe ich einen einfachen Ansatz, um das gewünschte Ergebnis zu erzielen:

\u0332 ist das Unicode-Zeichen COMBINING LOW LINE

Mit diesem Zeichen können Sie einzelne Buchstaben unterstreichen. 

Demonstration:

alert('S\u0332earch - s underlined');

i18n = {};

i18n.SEARCH = "S\u0332earch - s underlined";

document.getElementById('search').innerHTML = i18n.SEARCH;
<button id="search"></button>

2
GuyT

Brauchte das dringend, aber keine der Antworten war besonders hilfreich. Da zwei Antworten darauf hindeuten, dass die Lösung darin besteht, Unicode zu verwenden, müssen Sie dies jedoch ordnungsgemäß tun! Ich wollte auch eine wiederverwendbarere Lösung, bei der ich das Rad nicht jedes Mal neu erfinden musste. Also kam mit diese kleine Javascript-Funktion für die Bequemlichkeit.

alert('Really need to alert some '+toUnicodeVariant('underlined', 'bold sans', 'underline')+' text');
<script src="https://rawgithub.com/davidkonrad/toUnicodeVariant/master/toUnicodeVariant.js"></script>

Sollte so etwas in allen gängigen Browsern erzeugen (versuchen Sie das obige Code-Snippet auszuführen):

enter image description here

1
davidkonrad

Sie können die externe Bibliothek nicht als JQuery UI Dialog oder als eigene Implementierung verwenden.

1
Sirus64

Das ist nicht möglich. Sie müssten ein Plugin verwenden. Wenn Sie jQuery installiert haben, können Sie aus einer Reihe auswählen. Wenn nicht, sieht dieser vielversprechend aus: http://simplemodal.plasm.it/#examples

0
Bill Criswell