Enter
地球上の任意のキーボードのキーを押すだけで、以下に示すようにテキストエリアにコンテンツを送信したいと考えています。ユーザーがShift+Enter
キーを押すと、キャレットは新しい行に移動するEnter
必要があり、送信されたテキストエリアのコンテンツを押すと、Shift+Enter
押されたときに新しい行が作成されます。textarea のコンテンツは、クラスを含む div の後に挿入する必要がありますcommentWrap
が、最後に送信されたコメントは最後に表示する必要があり、その逆も同様です。
このソリューションがすべてのブラウザで機能することを望みます。
<div class="commentWrap"></div>
<textarea id="test"></textarea>
<script type="text/javascript">
$(document).ready(function() {
$("#test").keypress(function(e) {
var textVal = $(this).val();
if(e.which == 13 && e.shiftKey) {
//What should I really do here
}
else if (e.which == 13 && ! e.shiftKey) {
e.preventDefault(); //Stops enter from creating a new line
//this.form.submit(); //or ajax submit
if (this.value ==="") {
alert("Hey punk! Put some text before you hit enter.");
}else {
alert(textVal);
$("<div class='comment'>"+ textVal +"</div>").insertAfter('.commentWrap');
}
}
});
});
</script>