2

複数行のテキストが含まれるテキスト領域がありますが、ほとんどの場合、バーコードスキャナーで入力するか、たまに貼り付けると思います。スキャナーの動作は単純で、ユーザーはテキストボックスに焦点を合わせてスキャンするだけで、結果は文字ごとに(非常にすばやく連続して)入力され、最後の行は改行になります。

私がやりたいのは、偶発的な重複がスキャンされたり貼り付けられたりしないようにすることです(エラーが発生した場合、99%の確率で、他のシステムで観察したように手動入力が原因です)。もちろん、行は順序付けられていないので、入力順序を変更しないのが理想的です。

キーボードが使用されていないことを考慮してキャプチャできる他のイベントは、改行文字をキャプチャして、フォーカスされていても値が実際に変化するときにテキストエリアを動的にチェックできますか。(しかし、それは遅いので、すべての文字にあるわけではありません。スキャナーの動作方法のcosだと思います。)

<script>
    $("#serials-textarea").change(function () {
        alert($("#serials-textarea").val());
    });
</script>

検証を行うために他にどのようなイベントをキャプチャできますか(alert()がどこにあるか、または皆さんが持っている提案は何でも)?

4

1 に答える 1

2
$("#serials-textarea").keyup(function(event) {
    if (event.which == 13) {
        alert("return");
        event.preventDefault();
    } 
});

デバイスから渡されたイベント (キャリッジ リターン) と思われる "Enter" キー押下をキャプチャします。FF と Chrome で動作します。

于 2012-06-19T13:28:15.440 に答える