2012-07-20 6 views
16

Robię edytor WYSYWYG HTML5 Z SWT, ustawiając atrybut contentEditable znacznika body na true.Cofanie i ponawianie w WYSYWYG contentEditable w SWT nie działa

Kiedy wykonuję niektóre polecenia, takie jak document.execCommand('bold'), działa idealnie. Ale gdy próbuję cofnąć operację za pomocą document.execCommand('undo') nic się nie dzieje. Nie wiem, czy muszę ustawić jakiegokolwiek menedżera cofania lub zrobić coś takiego. Czy możesz mi pomóc ?

+2

Czy to pomaga http://stackoverflow.com/a/5062713/903454 – 5hahiL

Odpowiedz

1

Wydaje się, że jest to częsty problem, ponieważ jest to Google search will reveal. Poniższa witryna ma dobrą tabelę zgodności i wersję demonstracyjną do testowania.

Oni także mają następujące oświadczenie na stronie Demo:

Undo/Redo nie działa w IE. Problem polega na tym, że zmiany w textarea po prawej stronie są również dodawane do stosu Cofnij/Ponów. Tam nie będzie tekstową w ostatecznej wersji, więc nie jest konieczne, aby rozwiązać problem za pomocą .

1

Według this quirksmode table, cofania/powtarzania działa we wszystkich najpopularniejszych przeglądarkach, ale ma tę notatkę:

Cofnij działa w Safari, ale jeśli nie Undo/Redo zbyt często ulega awarii. Rozwiązany w 3. Jeśli wprowadzisz własne zmiany w obszarze edytowalnym, Cofnij/Ponów działa nadal w Mozilli i Safari (chociaż ignoruje twoje niestandardowe zmiany), ale w IE i Opera przestaje działać.

nie wiem jak SWT może wpłynąć na to, ale może być lepiej użyć

document.execCommand("undo", "", null) 

ExecCommand zawsze była bardzo buggy, a ja nie wiem zbyt wiele o SWT, ale mam nadzieję, że to ci pomoże.