小编典典

在文本区域的占位符属性内插入换行符?

all

我尝试了几种方法,但都没有奏效。有谁知道一个巧妙的技巧来解决这个问题?

<textarea placeholder='This is a line \n this should be a new line'></textarea>

<textarea placeholder='This is a line     
should this be a new line?'></textarea> <!-- this works in chrome apparently -->

更新:它在 chrome 中不起作用。这只是文本区域的宽度。

见:http: //jsfiddle.net/pdXRx/


阅读 92

收藏
2022-06-02

共1个答案

小编典典

您可以做的是将文本添加为value​​ ,它尊重换行符\n

$('textarea').attr('value', 'This is a line \nthis should be a new line');

然后您可以将其删除focus并重新应用(如果为空)blur。像这样的东西

var placeholder = 'This is a line \nthis should be a new line';
$('textarea').attr('value', placeholder);

$('textarea').focus(function(){
    if($(this).val() === placeholder){
        $(this).attr('value', '');
    }
});

$('textarea').blur(function(){
    if($(this).val() ===''){
        $(this).attr('value', placeholder);
    }    
});

示例:http:
//jsfiddle.net/airandfingers/pdXRx/247/

不是纯 CSS,也不是 干净 的,但可以解决问题。

2022-06-02