Kılavuzumu düzenlerken, kılavuzun dışını tıklarsam düzenleme yaptığım kutu hala düzenlenebilir. Düzenlenen hücreyi, odağı kaybederken düzenlemeyi "tamamlamak" için nasıl alabilirim?Slickgrid - Bitirmek için kayma yok düzenleme
cevap
Aşağıdaki kod geçerli düzenlemeyi kaydedecektir.
Slick.GlobalEditorLock.commitCurrentEdit();
Bunu, kaydetmeyi tetiklemesi gerektiğini düşündüğünüz bir olay işleyicisinin içine yerleştirmeniz gerekir.
$('#myGrid').on('blur', 'input.editor-text', function() {
Slick.GlobalEditorLock.commitCurrentEdit();
});
I: örnek metin editörü eklentisi kullanıyorsanız Örneğin, ben bir editor-text
CSS sınıf yüzden böyle bir şey çalışması gerekir Eğer bir hücreyi düzenleme yaparken yarattı giriş alanına eklenir inanıyoruz bir zaman aşımına clav en işleyicisi sarmak için gerekli bulundu: gezinmek için klavye kullanırken
Uncaught NotFoundError: An attempt was made to reference a Node in a context where it does not exist.
:
$("#myGrid").on('blur', 'input.editor-text', function() {
window.setTimeout(function() {
if (Slick.GlobalEditorLock.isActive())
Slick.GlobalEditorLock.commitCurrentEdit();
});
});
gibi hataları önlemek için. Muhtemelen yeni bulanıklık işleyicisi SlickGrid'in kendi işlemesini yapmadan önce patlar ve bu da sorunlara neden olur.
Ne yazık ki, muhtemelen olay işleme farklılıkları nedeniyle, Grame'nin sürümü kromdaki klavye gezinmesini bozuyor.
$('#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();
}
});
});
Bu akımın içinde iş gibi görünüyor: Bunu düzeltmek için, ben yeni odaklanmış eleman (klavye navigasyon sonucunda) ızgara içinde başka editör elemanı değilse sadece, düzenleme işlemek için bir çek eklendi firefox, krom ve ie sürümleri.
Burada bir şey eksik olabilir. Teoride bu çalışır - çünkü eğer firebug konsolu içine ekler ve sonra odaklanır ve odağı kaybedersem bir kez çalışır. Ancak kodda, belgede bile. Çalışmıyor: \ – sunzyflower
Benim hatam, bu bulanıklık örneği işe yaramaz çünkü girdi alanları dinamik olarak eklenir. Bunun yerine etkinliği 'on 'kullanarak bağlamanız gerekir. Örneği güncelledim, bunu dene. TypeError:. – clav
aşağıdaki hatayı alıyorum. JQuery (...) üzerine [Bu On Error kırın] bir işlev değil \t jQuery ('# myGrid') ('bulanıklık' üzerine, 'giriş .editor-text ', function() { – sunzyflower