Format the text in JavaScript alert box

前端 未结 7 2291
广开言路
广开言路 2020-12-09 02:19

How can I format the text in a JavaScript alert box? I need a word in the text to be underlined.

相关标签:
7条回答
  • 2020-12-09 02:27

    Underline a string using unicode character '\u0332', called a 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);
    

    This method is not guaranteed to produce a smooth underline.

    Example of confirm() on Firefox 59:

    0 讨论(0)
  • 2020-12-09 02:33

    You can use only:

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

    So, you can insert different ASCII characters, but not format them (like italic or bold).

    EDIT I also have to mention, that in fact alert acts like toString conversion, so including tags and/or styles is not possible.

    0 讨论(0)
  • 2020-12-09 02:40

    Needed this badly, but none of the answers were particular helpful. As two answers suggest the solution is to use unicode, but you have to do this properly! I also wanted a more reuseable solution where I not needed to reinvent the wheel each and every time. So came up with this small javascript function for convenience.

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

    Should produce something like this in all major browsers (try run the code snippet above) :

    0 讨论(0)
  • 2020-12-09 02:41

    In my case I created internationalization through a JavaScript file. I needed a mnemonic on each button so I was looking for an easy solution. Actually, I've an easy approach to get the wanted result:

    \u0332 is the Unicode Character COMBINING LOW LINE

    With this character you can underline single letters.

    Demonstration:

    alert('S\u0332earch - s underlined');
    
    i18n = {};
    
    i18n.SEARCH = "S\u0332earch - s underlined";
    
    document.getElementById('search').innerHTML = i18n.SEARCH;
    <button id="search"></button>

    0 讨论(0)
  • 2020-12-09 02:41

    You can't. Use external lib as JQuery UI Dialog or your own implementation.

    0 讨论(0)
  • 2020-12-09 02:41

    This is not possible. You'd have to use a plugin. If you have jQuery installed there's a bunch to choose from. If not this one looks promising: http://simplemodal.plasm.it/#examples

    0 讨论(0)
提交回复
热议问题