0

これら 2 つの方法以外に、キーコードを使用してテキストを書き込む方法はありますか? ただし、以下の方法による悪い点は、次のようなショートカットを処理できないことshift + aです...

1.方法

キーコードと文字で満たされた json オブジェクトを使用し、それらを繰り返しながらテキストを再構築し、入力されたキーコードと比較します。

(デモンストレーション目的のみ) :

var chars = {
  65: 'a',
  66: 'b',
  67: 'c',
  68: 'd',
  69: 'e'
  etc..
},
keys = {};

...push some keycodes to `keys`-array...
e.g: keys[(+new Date())] = 65;
     keys[(+new Date())] = 66;
     keys[(+new Date())] = 67;

...fill the output-string
var mark = null,
    timeout = 0,
    str = "";

    for(var t in keys) {
        if(mark) {
            timeout = tS - mark;
        } else {
            timeout = 0;
            mark = tS;
        }

        setTimeout(function(){
            str += keys[t];
        }, timeout);
    }

...return the string:
elem.text(str);

2.方法

空/影inputを作成し、そこから値を文字列に入力します (この方法についてはこれ以上説明しません。これについては、こちらを参照してください: https://stackoverflow.com/a/8072440/1250044

3. 方法

実際の方法ではありませんが、次の点に注意してください。

var str = String.fromCharCode(e.which);

良い方法

それを行うための最良の方法は、次のようにトリガーすることだと思いますkeyevent

$(document).trigger({type: 'keydown', which: x});

欠点は、これが実際の をトリガーしkeydownないことです。そのため、この方法で書くことはできません。

4

0 に答える 0