0

重複の可能性:
jQuery で oncut、oncopy、および onpaste をどのように処理しますか?

$(document).ready(function() {
    $('#Description').bind('keyup', function() {   
        var characterLimit = 350;
        var charactersUsed = $(this).val().length;
        if (charactersUsed > characterLimit) {
            charactersUsed = characterLimit;
            $(this).val($(this).val().substr(0, characterLimit));
            $(this).scrollTop($(this)[0].scrollHeight);
        }
    });
});

http://jsfiddle.net/qCasN/

これは私のコードです。マウスの右クリックによる貼り付けを使用して説明ボックスにコンテンツを貼り付けようとしていますが、コードでは処理されません。どこが間違っているのかわかりません。誰かが私のためにこれを修正するのを手伝ってくれますか?

前もって感謝します

4

4 に答える 4

0

changeの代わりにまたはinputイベントを使用する必要がありkeyupます。少しのパフォーマンスの低下を気にしない場合は、次のことができます。

$('#Description').bind('keyup change input', function () { .. });

http://jsfiddle.net/3HdAd/

于 2012-11-20T10:32:00.217 に答える
0

mouseupイベントの代わりにイベントを使用する必要がありますkeyupkeyupはキーボード操作用です。mouseupただし、ページがコンテキスト メニューからイベントを受け取るかどうかはわかりません。(右クリック -> 「貼り付け」により、非 DOM 要素の「貼り付け」ボタンをクリックします。


または、Miszy が提案したイベントの方が適しています。

于 2012-11-20T10:32:01.357 に答える
0

onpaste イベントを使用してこれを処理できます:-

$("#Description").bind("paste", function(){} );

このリンクを確認してください: -jQueryでoncut、oncopy、およびonpasteをどのように処理しますか?

于 2012-11-20T10:33:13.123 に答える
0

以下のように、デフォルトの jquery keyup イベントを使用できます。

var characterLimit = 360; 
$("#Description").keyup(function(){
  if($("#Description").val().length > characterLimit){
    $("#Description").val($("#Description").val().substring(0,characterLimit));
   }
});

または、キーダウンイベントを次のように使用できます

var characterLimit = 360; 
    $("#Description").keydown(function(){
      if($("#Description").val().length > characterLimit){
        return false;
       }
    });
于 2012-11-20T10:52:49.060 に答える