@@ -717,8 +717,22 @@ UserQuote.addEventListener('keydown', (event) => {
717
717
} ) ;
718
718
719
719
[ createCostumField_xInput , createCostumField_yInput ] . forEach ( input => {
720
- // prevention of unallowed keys
720
+
721
721
input . addEventListener ( 'keydown' , function ( event ) {
722
+
723
+ // navigation with keys
724
+ if ( input == createCostumField_xInput ) {
725
+ if ( event . key == "Enter" || event . key == "ArrowRight" ) {
726
+ createCostumField_yInput . focus ( ) ;
727
+ } ;
728
+
729
+ } else if ( input == createCostumField_yInput ) {
730
+ if ( event . key == "Enter" || event . key == "ArrowLeft" ) {
731
+ createCostumField_xInput . focus ( ) ;
732
+ } ;
733
+ } ;
734
+
735
+ // prevention of unallowed keys
722
736
if ( ! isNumericKey ( event . key ) && ! isAllowedKey ( event . key ) ) {
723
737
event . preventDefault ( ) ;
724
738
@@ -774,27 +788,77 @@ UserQuote.addEventListener('keydown', (event) => {
774
788
} ) ;
775
789
776
790
createCostumPattern_title . addEventListener ( "keydown" , ( event ) => {
777
- const allowedCharacters = / ^ [ a - z A - Z 0 - 9 ] * $ / ; // Nur Buchstaben erlaubeni
778
- const maxLength = 10 ; // Maximale Anzahl von Zeichen
779
- const allowedKeys = [ 'ArrowLeft' , 'ArrowRight' , 'ArrowUp' , 'ArrowDown' , "Backspace" ] ; // Erlaubte Tasten
791
+ let len = event . target . textContent . length ;
792
+ let hasSelection = false ;
793
+ let selection = window . getSelection ( ) ;
794
+ let isSpecial = utils . isSpecial ( event ) ;
795
+ let isNavigational = utils . isNavigational ( event ) ;
780
796
781
- // Überprüfen, ob die gedrückte Taste ein Buchstabe ist
782
- if ( ! event . key . match ( allowedCharacters ) && ! event . which == 32 ) {
783
- // Verhindern, dass nicht-erlaubte Zeichen eingegeben werden
797
+ if ( selection ) {
798
+ hasSelection = ! ! selection . toString ( ) ;
799
+ } ;
800
+
801
+ if ( isSpecial || isNavigational ) {
802
+ return true ;
803
+ } ;
804
+
805
+ if ( len >= 15 && ! hasSelection && event . key != "Enter" ) {
784
806
event . preventDefault ( ) ;
785
- }
807
+ return false ;
808
+ } ;
786
809
787
- // Überprüfen, ob die gedrückte Taste eine manipulierende Taste ist
788
- if ( event . key === "Enter" ) {
789
- // Verhindern, dass manipulierende Tasten verwendet werden
810
+ // if (event.code === "Space") {
811
+ // event.preventDefault();
812
+ // };
813
+ } ) ;
814
+
815
+ createCostumPattern_title . addEventListener ( "keyup" , ( event ) => {
816
+ let inputValue = createCostumField_title . textContent ;
817
+ const validInput = inputValue . replace ( / [ ^ 0 - 9 a - z A - Z \s ] / g, "" ) ;
818
+
819
+ if ( inputValue !== validInput ) {
820
+ event . target . textContent = validInput ;
821
+ } ;
822
+ } ) ;
823
+
824
+
825
+ createCostumField_title . addEventListener ( "keydown" , ( event ) => {
826
+ let len = event . target . textContent . length ;
827
+ let hasSelection = false ;
828
+ let selection = window . getSelection ( ) ;
829
+ let isSpecial = utils . isSpecial ( event ) ;
830
+ let isNavigational = utils . isNavigational ( event ) ;
831
+
832
+ if ( selection ) {
833
+ hasSelection = ! ! selection . toString ( ) ;
834
+ } ;
835
+
836
+ if ( isSpecial || isNavigational ) {
837
+ return true ;
838
+ } ;
839
+
840
+ if ( len >= 15 && ! hasSelection && event . key != "Enter" ) {
790
841
event . preventDefault ( ) ;
791
- }
842
+ return false ;
843
+ } ;
792
844
793
- // Überprüfen, ob die maximale Anzahl von Zeichen erreicht ist
794
- if ( createCostumPattern_title . textContent . length >= maxLength && event . key !== "Backspace" && ! allowedKeys . includes ( event . key ) ) {
795
- // Verhindern, dass weitere Zeichen hinzugefügt werden
845
+ if ( event . key === "Enter" ) {
796
846
event . preventDefault ( ) ;
797
- }
847
+ createCostumField_xInput . focus ( ) ;
848
+ } ;
849
+
850
+ // if (event.code === "Space") {
851
+ // event.preventDefault();
852
+ // };
853
+ } ) ;
854
+
855
+ createCostumField_title . addEventListener ( "keyup" , ( event ) => {
856
+ let inputValue = createCostumField_title . textContent ;
857
+ const validInput = inputValue . replace ( / [ ^ 0 - 9 a - z A - Z \s ] / g, "" ) ;
858
+
859
+ if ( inputValue !== validInput ) {
860
+ event . target . textContent = validInput ;
861
+ } ;
798
862
} ) ;
799
863
800
864
function isNumericKey ( key ) {
0 commit comments