Railsのauto_complete_fieldは中国語のヒントをサポートします
Railsのauto_completeプラグインはとてもすばらしくて、少ないコードで入力ボックスの自動ヒント機能を実現することができて、使用中にこのプラグインが中国語をよくサポートできないことを発見して、もちろんこれはプラグインの間違いではありませんて、script.aculo.USというJSコンポーネントのAutocompleterは中国語のヒントをあまりサポートできません.例えば、「中国」の検索を入力場合、まず入力方式にzhongguoを入力と、JSはzhongguoを送信してバックグラウンドの検索を開始し、スペースを押して中国語を選択すると、JSは再び中国語をバックグラウンドに送信せず、ネット上で資料を調べ、controls.jsでEvent.observeのkeydownイベントをkeyupに変更すればいい(89行目付近)、中国語と英語の自動ヒントは問題ありません.このバグは今後のバージョンで修正されると信じています.
最近JQuery陣営に転入して、JQueryは依然として中国語の入力のヒントの問題があることを発見して、keydown事件をkeyupに変えるだけでいいので、しかしこの時ユーザーはTabあるいは車に戻るボタンを押して、選択したヒントの文字は入力ボックスに入ることができなくて、以下のコードに参加して解決します:
最近JQuery陣営に転入して、JQueryは依然として中国語の入力のヒントの問題があることを発見して、keydown事件をkeyupに変えるだけでいいので、しかしこの時ユーザーはTabあるいは車に戻るボタンを押して、選択したヒントの文字は入力ボックスに入ることができなくて、以下のコードに参加して解決します:
$input.bind("keydown.autocomplete", function(event) {
switch(event.keyCode) {
case KEY.TAB:
case KEY.RETURN:
if( selectCurrent() ) {
// stop default to prevent a form submit, Opera needs special handling
event.preventDefault();
blockSubmit = true;
return false;
}
break;
}
})