0

なぜ event.which はオペレーティング システムによって 13 (CR) または 10 (LF) を返さないのですか?

$('#something').on('keypress', function (event) {
  switch (event.which) {
  case 13:
    ...
    break;
  }    
});

アップデート

キャリッジ リターンが ASCII コードで 13 に等しいことは知っています。しかし、キャリッジ リターンはすべてのオペレーティング システムに共通であるのに、テキストでは異なる出力(つまり、LF、CR、CR LF) を生成するのはなぜでしょうか?

4

1 に答える 1

16

それがリターン用のASCIIコードだからです...

テーブル:

ここに画像の説明を入力してください

13番を見てください:

13     015 0D00001101CR     
     キャリッジリターン

これを読む:

改行を表す実際のコードはオペレーティングシステムによって異なります。これは、改行表現が異なるシステム間でテキストファイルを交換するときに問題になる可能性があります。

どのOSを使用していても値を固定することで、私たちの生活はずっと楽になり、私たちがしなければならない実際の問題に集中できるようになります。

于 2012-06-24T17:22:35.947 に答える