Handsontable の Autocomplete の悪いところは、ローマ字変換のキー入力では思惑どおりに働かないところである。
jQuery UIではそんなことは起きない。
Handsontable は、ここで、全角入力モードにして、「si」 とキーを打つと、、
となってしまう。
これは、Handsontable が、keydown のイベントで選択候補を抽出して描画する autocomplete の処理を実行してしまうからだ。
いろいろ回避策を探ったが良い方法が見つからず、結局、
jquery.handsontable.full.js を以下のように修正して使うことにした。
jquery.handsontable.full.js の 5431行目あたりに、キーイベントの bind を実行している箇所がある。
ここの、keydown.autocompleteEditor を、keyup.autocompleteEditor に変更する。
5431: AutocompleteEditor.prototype.bindEvents = function(){
5432:
5433: var that = this;
5434: //this.$textarea.on('keydown.autocompleteEditor', function(event){
5435: this.$textarea.on('keyup.autocompleteEditor', function(event){
このように修正することで以下のように、「si」とキー入力、「し」を表示して以下のように思いどおりの動作になる。
この修正は、Handeontable の Dropdown でも有効な修正になる。