Podczas edycji siatki, jeśli kliknę poza siatką, pole, które edytowałem, będzie nadal edytowalne. Jak zmusić edytowaną komórkę do "ukończenia" edycji, gdy traci ostrość?Slickgrid - utrata ostrości do końca edycja
Odpowiedz
Poniższy kod zapisze bieżącą zmianę.
Slick.GlobalEditorLock.commitCurrentEdit();
Musisz umieścić to wewnątrz programu obsługi zdarzeń, który Twoim zdaniem powinien wywołać zapis. Na przykład, jeśli używasz wtyczki edytora tekstu przykładowego, wierzę klasa editor-text
CSS jest dodawany do pola wprowadzania, który jest tworzony podczas edytowania komórki więc coś jak to powinno działać:
$('#myGrid').on('blur', 'input.editor-text', function() {
Slick.GlobalEditorLock.commitCurrentEdit();
});
I stwierdzono, że musiałem zawijać obsługi Clav w timeout:
$("#myGrid").on('blur', 'input.editor-text', function() {
window.setTimeout(function() {
if (Slick.GlobalEditorLock.isActive())
Slick.GlobalEditorLock.commitCurrentEdit();
});
});
aby uniknąć błędów takich jak:
Uncaught NotFoundError: An attempt was made to reference a Node in a context where it does not exist.
podczas korzystania z klawiatury do nawigacji. Prawdopodobnie nowy menedżer rozmycia zostanie uruchomiony, zanim SlickGrid będzie mógł sam sobie poradzić i to spowoduje problemy.
Niestety, prawdopodobnie z powodu różnic w przetwarzaniu zdarzeń, wersja Grame łamie nawigację po klawiaturze w chrome. Aby rozwiązać ten problem, dodałem kolejny czek tylko popełnienia zmienił, jeśli nowo koncentruje element nie jest kolejnym elementem redaktor w sieci (w wyniku nawigacji klawiatury):
$('#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();
}
});
});
To wydaje się działać w prądzie wersje firefox, chrome i ie.
- 1. Niestandardowa edycja ostrości za pomocą klawiatury Android
- 2. Jakie jest zalecane podejście do stylu SlickGrid?
- 3. SlickGrid AJAX dane
- 4. SlickGrid Vs JQGrid
- 5. Edycja widoku tylko do odczytu
- 6. Edycja pdf do modyfikowania nagłówka
- 7. Grupy kolumn SlickGrid
- 8. Łączenie SlickGrid filtracyjne Przykłady
- 9. Edytor wyboru SlickGrid
- 10. Dobry samouczek dla SlickGrid?
- 11. Wybór SlickGrid i Text
- 12. Szyny, utrata błysku po przekierowaniu do
- 13. Utrata odwołań do przeniesieniaDelegate przed prezentacją presetentation
- 14. Java NIO: transferFrom do końca strumienia
- 15. Utrata działającego wywołania podprocesowego
- 16. Asynchroniczna libpcap: utrata pakietów?
- 17. Ehcache utrata obiektów
- 18. Jak przewinąć do końca System.Windows.Forms.WebBrowser?
- 19. Selen: Przewiń do końca strony
- 20. Substring przejść do końca ciągu
- 21. Uzyskanie wskaźnik do końca tablicy
- 22. Przewiń do końca ScrolledWindow/TextView
- 23. Funkcje SlickGrid dla eksportu CSV?
- 24. multiple slickGrid w zakładkach jQuery
- 25. Dodaj, jeśli instrukcja do bloku do końca
- 26. Komenda AWK do wydrukowania do końca wiersza
- 27. SlickGrid: odznacz wszystkie wiersze w
- 28. Definicja końca strony a definicja końca strony
- 29. Uiwebview i ogromna utrata pamięci
- 30. Aplikacja klienta/serwera - utrata bajtów
Być może czegoś tutaj brakuje. Teoretycznie to działa - ponieważ jeśli dodaję go w konsoli firebug, a następnie otrzymam skupienie i utracę ostrość, działa on tylko raz. Ale w kodzie, nawet w dokumencie, już nie działa: \ – sunzyflower
Mój błąd, ten przykład rozmycia nie zadziała, ponieważ pola wejściowe są dodawane dynamicznie. Będziesz musiał powiązać zdarzenie za pomocą 'on'. Zaktualizowałem przykład, spróbuj tego. – clav
Dostaję następujący błąd: TypeError:.. JQuery (...) nie jest funkcją [Przerwa Na ten błąd] \t jQuery ('# myGrid') na ('rozmycie', „wejście .editor-text ', function() { – sunzyflower