Я хочу, чтобы пользователи видели разрыв строки в моем <textarea>вместо <br> - PullRequest
2 голосов
/ 19 декабря 2011

Когда я набираю br в моем <textarea>, я действительно имею в виду:

<br>

Когда нажата клавиша 13 (возврат), я вставляю br в .message <textarea>.Это делает хороший разрыв строки в моем <div> с классом .M.

Моя проблема в том, что пользователь видит br в .message <textarea>.Я должен положить его туда, иначе br не будет добавлено при следующем нажатии клавиши.

Вот мой код:

$('.message').keyup(function(e){
        pos = $('.message').prop("selectionStart");
        start = $('.message').val().substring(0,pos);
        end = $('.message').val().substring(pos);
    //preventers
    if(e.keyCode==222){$('.message').val(msg);$('.M').html(msg);}else{msg = $('.message').val();$('.M').html(msg);}
    //replacers
        if(e.keyCode==13){msg = start+'<br>'+end;$('.message').val(msg);$('.M').html(msg);}else{msg = $('.message').val();$('.M').html(msg);}
    //sweep
    pattern=/'/gi;var illegal=msg.match(pattern);
    if(illegal!==null){illegal=illegal.length;while(illegal>0){msg=msg.replace("'","");msg=msg.replace('"','');$('.M').html(msg);$('.message').val(msg);illegal--;}}
    pattern=/"/gi;var illegal=msg.match(pattern);
    if(illegal!==null){illegal=illegal.length;while(illegal>0){msg=msg.replace("'","");msg=msg.replace('"','');$('.M').html(msg);$('.message').val(msg);illegal--;}}
});

HTML:

<textarea class="message" id="message" value="" maxlength="75"
         style="position:relative;top:1p‌​x;left:5px;resize:none;border:none;background:none;height:17px;width:428px;">
</te‌​xtarea>


<div class="M_" 
     style="position:relative;top:100px;left:0px;height:160px;width:200px;c‌​olor:#000;z-index:2;">
</div> 

1 Ответ

1 голос
/ 19 декабря 2011

Я думаю, вы могли бы пересмотреть, когда вы выполняете замены.Если вы попытаетесь сделать это в интерактивном режиме, вам будет трудно.Гораздо лучше дождаться отправки данных и изменить только те данные, которые отправляются на сервер.

...