File tree Expand file tree Collapse file tree 3 files changed +39
-33
lines changed Expand file tree Collapse file tree 3 files changed +39
-33
lines changed Original file line number Diff line number Diff line change 51
51
menu . widget ( ) . hide ( ) ;
52
52
break ;
53
53
default :
54
- clearTimeout ( menu . filterTimer ) ;
55
- var prev = menu . previousFilter || "" ;
56
- var character = String . fromCharCode ( event . keyCode ) ;
57
- var skip = false ;
58
- if ( character == prev ) {
59
- skip = true ;
60
- } else {
61
- character = prev + character ;
62
- }
63
54
64
- var match = menu . widget ( ) . children ( "li" ) . filter ( function ( ) {
65
- return new RegExp ( "^" + character , "i" ) . test ( $ ( this ) . text ( ) ) ;
66
- } ) ;
67
- var match = skip && match . index ( menu . active . next ( ) ) != - 1 ? match . next ( ) : match ;
68
- if ( ! match . length ) {
69
- character = String . fromCharCode ( event . keyCode ) ;
70
- match = menu . widget ( ) . children ( "li" ) . filter ( function ( ) {
71
- return new RegExp ( "^" + character , "i" ) . test ( $ ( this ) . text ( ) ) ;
72
- } ) ;
73
- }
74
- if ( match . length ) {
75
- menu . focus ( event , match ) ;
76
- if ( match . length > 1 ) {
77
- menu . previousFilter = character ;
78
- menu . filterTimer = setTimeout ( function ( ) {
79
- delete menu . previousFilter ;
80
- } , 1000 ) ;
81
- } else {
82
- delete menu . previousFilter ;
83
- }
84
- } else {
85
- delete menu . previousFilter ;
86
- }
87
55
}
88
56
} ) ;
89
57
} ) ;
Original file line number Diff line number Diff line change 50
50
< li > < a href ="# "> Ada</ a > </ li >
51
51
< li > < a href ="# "> Adamsville</ a > </ li >
52
52
< li > < a href ="# "> Addyston</ a > </ li >
53
- < li > < a href ="# "> Adelphi</ a > </ li >
53
+ < li > < a href ="# "> Delphi</ a > </ li >
54
+ < li > < a href ="# "> Saarland</ a > </ li >
55
+ < li > < a href ="# "> Salzburg</ a > </ li >
54
56
</ ul >
55
57
56
58
< ul id ="menu2 ">
Original file line number Diff line number Diff line change @@ -87,6 +87,42 @@ $.widget("ui.menu", {
87
87
event . preventDefault ( ) ;
88
88
event . stopImmediatePropagation ( ) ;
89
89
break ;
90
+ default :
91
+ clearTimeout ( self . filterTimer ) ;
92
+ var prev = self . previousFilter || "" ;
93
+ var character = String . fromCharCode ( event . keyCode ) ;
94
+ var skip = false ;
95
+ if ( character == prev ) {
96
+ skip = true ;
97
+ } else {
98
+ character = prev + character ;
99
+ }
100
+ function escape ( value ) {
101
+ return value . replace ( / [ - [ \] { } ( ) * + ? . , \\ ^ $ | # \s ] / g, "\\$&" ) ;
102
+ }
103
+ var match = self . widget ( ) . children ( ".ui-menu-item" ) . filter ( function ( ) {
104
+ return new RegExp ( "^" + escape ( character ) , "i" ) . test ( $ ( this ) . text ( ) ) ;
105
+ } ) ;
106
+ var match = skip && match . index ( self . active . next ( ) ) != - 1 ? self . active . nextAll ( ".ui-menu-item" ) : match ;
107
+ if ( ! match . length ) {
108
+ character = String . fromCharCode ( event . keyCode ) ;
109
+ match = self . widget ( ) . children ( ".ui-menu-item" ) . filter ( function ( ) {
110
+ return new RegExp ( "^" + escape ( character ) , "i" ) . test ( $ ( this ) . text ( ) ) ;
111
+ } ) ;
112
+ }
113
+ if ( match . length ) {
114
+ self . focus ( event , match ) ;
115
+ if ( match . length > 1 ) {
116
+ self . previousFilter = character ;
117
+ self . filterTimer = setTimeout ( function ( ) {
118
+ delete self . previousFilter ;
119
+ } , 1000 ) ;
120
+ } else {
121
+ delete self . previousFilter ;
122
+ }
123
+ } else {
124
+ delete self . previousFilter ;
125
+ }
90
126
}
91
127
} ) ;
92
128
} ,
You can’t perform that action at this time.
0 commit comments