ラテン文字を日本語の仮名記号 ( live example ) にリアルタイム (自動修正) で変換するための jQuery プラグインに取り組んでいます。
例えば:
わかります -> 分かります</p>
ただし、通常の速度で入力すると、次のようになります。
wakarimasu -> わかりあすm
「su」なしで入力すると、次のようになります。
wakarima -> わかりあm (これは実際には wakarim であり、末尾の "あ" と "m" の間のカーソル)
なぜ、どのようにこれが起こっているのかを理解しました。基本的に、「ri - り」記号はまだラテン語から日本語のかなに変換されていますが、既に「m」を入力しており、「a」を入力する前に少し終了します。関数は変換ごとにカーソルを配置するため、 、それはカーソルを「ri」と「m」の間に置き、それが私の「a」が終わるところです。
これは他の単語でも起こりますが、例としてこれを取り上げました。
よりスマートな方法でカーソル位置を追跡できる方法はありますか、またはテキストフィールド全体を更新せずにテキストフィールドの一部のみを更新/変換/置換する方法はありますか(現在の動作方法は、テキストフィールドにあるものをフェッチし、置換します関数内の変数内に仮名を含むラテン語は、テキストフィールドを変数からの新しい文字列で更新し、カーソルを配置します)? 訪問者にタイプしすぎないように言うのは、実際には適切ではありません..
凡例: wa=わ ka=かり ri=り ma=ま su=す a=あ</p>
ソースは、私が提供したリンクで表示できます。ありがとう。
編集: もう 1 つ考慮すべきことは、ユーザーがカーソルを左右に移動して、文字/記号を追加または削除する可能性があることです。これはポジショニングを少し複雑にしますが、現時点では機能します。