グリッドを編集しているときに、グリッドの外側をクリックすると、編集していたボックスがまだ編集可能です。編集されたセルがフォーカスを失ったときに編集を「完了する」ようにするにはどうすればよいですか?
質問する
7863 次
3 に答える
15
次のコードは、現在の編集を保存します。
Slick.GlobalEditorLock.commitCurrentEdit();
これを、保存をトリガーする必要があると思われるイベント ハンドラー内に配置する必要があります。たとえば、サンプルのテキスト エディター プラグインを使用している場合editor-text
、セルを編集しているときに作成される入力フィールドに CSS クラスが追加されるので、次のように動作するはずです。
$('#myGrid').on('blur', 'input.editor-text', function() {
Slick.GlobalEditorLock.commitCurrentEdit();
});
于 2013-03-20T01:09:21.663 に答える
5
残念ながら、おそらくイベント処理の違いが原因で、Grame のバージョンでは chrome でのキーボード ナビゲーションが機能しなくなります。これを修正するために、新しくフォーカスされた要素が (キーボード ナビゲーションの結果として) グリッド内の別のエディター要素ではない場合にのみ、編集をコミットする別のチェックを追加しました。
$('#grid').on('blur.editorFocusLost', 'input.editor-text', function() {
window.setTimeout(function() {
var focusedEditor = $("#grid :focus");
if (focusedEditor.length == 0 && Slick.GlobalEditorLock.isActive()) {
Slick.GlobalEditorLock.commitCurrentEdit();
}
});
});
これは、Firefox、Chrome、および IE の現在のバージョンで動作するようです。
于 2014-08-14T13:50:29.373 に答える