In diesem Textfeld können Sie "k" und "m" in das Feld "contenteditable" eingeben und sie werden korrekt angezeigt.
%Vor%Wenn Sie jedoch den Hintergrund ziehen, verlieren Sie die Fähigkeit, ein "m" oder ein "k" einzugeben. Wie kann ich Google Maps daran hindern, diese Tastaturtasten ("k" und "m") zu verwenden?
Muss es eine Div sein, die editierbar ist? Ich habe eine Eingabe in das div hinzugefügt und es überschreibt nicht k & amp; m
HTML:
%Vor%JS:
%Vor%Lass es mich wissen, wenn es unbedingt ein editierbares div sein muss und ich werde es mir genauer ansehen.
Sie können nicht verhindern, dass der Fokus des editierbaren Divs verloren geht, sonst kann das Panorama nicht funktionieren, aber Sie können die Caret-Position speichern und später wiederherstellen (ein einfacher focus
würde den Caret zum Anfang machen anstelle der ursprünglichen Position).
Leider ist in einem contentEditable-fähigen div die Methode zum Erhalten der aktuellen Auswahl viel komplizierter als nur den selectStart
-Wert (von textareas verwendet) zu lesen / setzen. Am besten verwenden Sie dazu eine externe Bibliothek: Ссылка
Das Problem mit den Tasten "k" und "m" tritt immer noch auf, aber nur in Chrome
Muss es eine Div sein, die editierbar ist? Ich habe eine Eingabe in das div hinzugefügt und es überschreibt nicht k & amp; m
HTML:
%Vor%JS:
%Vor%Lass es mich wissen, wenn es unbedingt ein editierbares div sein muss und ich werde es mir genauer ansehen.
In diesem Textfeld können Sie "k" und "m" in das Feld "contenteditable" eingeben und sie werden korrekt angezeigt.
%Vor%Wenn Sie jedoch den Hintergrund ziehen, verlieren Sie die Fähigkeit, ein "m" oder ein "k" einzugeben. Wie kann ich Google Maps daran hindern, diese Tastaturtasten ("k" und "m") zu verwenden?
JQuery-Ansatz:
%Vor%stopPropagation vs. stopImmediatePropagation
Nach dem Finden dieser Lösung gibt es eine noch einfachere Lösung.
Verwenden Sie das Attribut keyboardShortcuts: false
beim Erstellen der Karteninstanz.
Sie können nicht verhindern, dass der Fokus des editierbaren Divs verloren geht, sonst kann das Panorama nicht funktionieren, aber Sie können die Caret-Position speichern und später wiederherstellen (ein einfacher %code% würde den Caret zum Anfang machen anstelle der ursprünglichen Position).
Leider ist in einem contentEditable-fähigen div die Methode zum Erhalten der aktuellen Auswahl viel komplizierter als nur den %code% -Wert (von textareas verwendet) zu lesen / setzen. Am besten verwenden Sie dazu eine externe Bibliothek: Ссылка
%Vor%Das Problem mit den Tasten "k" und "m" tritt immer noch auf, aber nur in Chrome
Tags und Links google-maps