だから、私はこのテキストエリアをhtmlに持っていて、twitterのようなものを実装しようとしています.
ユーザーが「#」と入力するたびに、単語を強調表示し、単語の最後に文字数を表示したいと考えています。たとえば、「こんにちは、私の名前は #user123(7) です。あなたの名前は?」私はすでに強調表示を処理していますが、現在、文字数の部分で迷っています。ここに私のHTMLがあります
<div id="inputback" class="format"></div>
<textarea id="input" class="format"></textarea>
Javascript
var textarea = document.getElementById("input");
var hashflag = 0 ;
var textlength;
textarea.onkeydown = function(e){
textarea.style.height = "";
textarea.style.height = textarea.scrollHeight + "px";
textlength = textarea.value.length;
var str = textarea.value;
str = str.replace(/(\s)([#]\w*)/g, "$1<b>$2</b>");
$('#inputback').html(str);
}
ここに私のCSSがあります
.format
{
font: 9pt Consolas;
}
#input { border: 1px solid black; background: transparent; z-index: 10; }
#inputback {
color: transparent;
position: absolute;
top: 0px
}
#inputback b
{
color: black;
background-color: #808080;
font-weight: normal;
}
これが私が達成したことの私のjsfiddleです。 http://jsfiddle.net/gjqWy/115/
前もって感謝します!
PSプラグインやJqueryを使用したくありません。ただのJavascript/html/css