0

私はテキストエリアを持っています。ユーザーがテキストエリアに X 文字を入力した後、いくつかの異なるイベントを発生させたいと思います。

  • 別のテキストフィールドに入力された最初の X 文字を追加します。
  • テキストエリアを拡張して、入力を続けるためのスペースを確保します

jqueryでキープレスイベントを使用できることは知っていますが、たとえば25文字が入力された後にイベントを開始するにはどうすればよいですか?

私は現在これを試しています:

$('#post-content-field').keyup(function () {
$('#post-title-field').val($("#post-content-field").val()).trigger('change');
                            });
4

4 に答える 4

2

.lengthキーを押すたびにテキストエリアの値を確認できます。25 以上の場合は、最初の数文字を取得して、テキスト領域の高さを増やします。

$("textarea.affectMe").on("keyup", function(){
  if ( this.value.length >= 25 && !$(this).hasClass("done") ) {
    $(this).addClass("done");
    $(".threeChars").val( this.value.substring(0,25) );
  }
});

テキストエリアにクラスを追加しているので、長さが 25 を超える場合にキーを押すたびにこれを何度も実行しないことに注意してください。

デモ: http://jsbin.com/afonar/edit#javascript,html

于 2012-05-10T19:04:08.120 に答える
1

以下のjqueryとcountChar関数を使用してください

 <script src="http://code.jquery.com/jquery-1.5.js"></script>
    <script>
        function countChar(val){
                                var len = val.value.length;
                                if (len >= 500) {
                                    val.value = val.value.substring(0, 500);
                                }else {
                                    $('#charNum').text(500 - len);
                                }
        };
    </script>

HTMLでは、次のような関数を呼び出します

<textarea id="field" onkeyup="countChar(this)"></textarea>
<div id="charNum">
</div>

div には文字数が表示されます。関数内で何でもできる

参考:テキストエリアの文字数を数える

于 2012-05-10T19:06:37.183 に答える
1

それはあなたの参考のためでした。あなたは好きなことをすることができます。テキストの追加を妨げている行を削除します

以下参照

function countChar(val){
    var len = val.value.length;
     $('#charNum').text(len);
     if (len >= 500) {
                     // Copy
      }else {
            //DO anything
      }
};
于 2012-05-10T19:31:36.127 に答える
0
$('textarea').bind('keyup', function(e){
    if(e.target.value.length === 25) {
        // do stuff
    }
});
于 2012-05-10T19:04:34.517 に答える