Skip to content

Commit 609e1f8

Browse files
committed
Menu: Replace regular bind call with _bind
1 parent 7216c08 commit 609e1f8

File tree

1 file changed

+94
-94
lines changed

1 file changed

+94
-94
lines changed

ui/jquery.ui.menu.js

Lines changed: 94 additions & 94 deletions
Original file line numberDiff line numberDiff line change
@@ -71,111 +71,111 @@ $.widget( "ui.menu", {
7171

7272
this.refresh();
7373

74-
this.element.attr( "tabIndex", 0 ).bind( "keydown.menu", function( event ) {
75-
if ( self.options.disabled ) {
76-
return;
77-
}
78-
switch ( event.keyCode ) {
79-
case $.ui.keyCode.PAGE_UP:
80-
self.previousPage( event );
81-
event.preventDefault();
82-
event.stopImmediatePropagation();
83-
break;
84-
case $.ui.keyCode.PAGE_DOWN:
85-
self.nextPage( event );
86-
event.preventDefault();
87-
event.stopImmediatePropagation();
88-
break;
89-
case $.ui.keyCode.HOME:
90-
self._move( "first", "first", event );
91-
event.preventDefault();
92-
event.stopImmediatePropagation();
93-
break;
94-
case $.ui.keyCode.END:
95-
self._move( "last", "last", event );
96-
event.preventDefault();
97-
event.stopImmediatePropagation();
98-
break;
99-
case $.ui.keyCode.UP:
100-
self.previous( event );
101-
event.preventDefault();
102-
event.stopImmediatePropagation();
103-
break;
104-
case $.ui.keyCode.DOWN:
105-
self.next( event );
106-
event.preventDefault();
107-
event.stopImmediatePropagation();
108-
break;
109-
case $.ui.keyCode.LEFT:
110-
if (self.collapse( event )) {
74+
this.element.attr( "tabIndex", 0 );
75+
this._bind({
76+
"keydown": function( event ) {
77+
switch ( event.keyCode ) {
78+
case $.ui.keyCode.PAGE_UP:
79+
self.previousPage( event );
80+
event.preventDefault();
11181
event.stopImmediatePropagation();
112-
}
113-
event.preventDefault();
114-
break;
115-
case $.ui.keyCode.RIGHT:
116-
if (self.expand( event )) {
82+
break;
83+
case $.ui.keyCode.PAGE_DOWN:
84+
self.nextPage( event );
85+
event.preventDefault();
11786
event.stopImmediatePropagation();
118-
}
119-
event.preventDefault();
120-
break;
121-
case $.ui.keyCode.ENTER:
122-
if ( self.active.children( "a[aria-haspopup='true']" ).length ) {
123-
if ( self.expand( event ) ) {
124-
event.stopImmediatePropagation();
125-
}
126-
}
127-
else {
128-
self.select( event );
87+
break;
88+
case $.ui.keyCode.HOME:
89+
self._move( "first", "first", event );
90+
event.preventDefault();
12991
event.stopImmediatePropagation();
130-
}
131-
event.preventDefault();
132-
break;
133-
case $.ui.keyCode.ESCAPE:
134-
if ( self.collapse( event ) ) {
92+
break;
93+
case $.ui.keyCode.END:
94+
self._move( "last", "last", event );
95+
event.preventDefault();
13596
event.stopImmediatePropagation();
136-
}
137-
event.preventDefault();
138-
break;
139-
default:
140-
event.stopPropagation();
141-
clearTimeout( self.filterTimer );
142-
var match,
143-
prev = self.previousFilter || "",
144-
character = String.fromCharCode( event.keyCode ),
145-
skip = false;
146-
147-
if (character == prev) {
148-
skip = true;
149-
} else {
150-
character = prev + character;
151-
}
152-
function escape( value ) {
153-
return value.replace( /[-[\]{}()*+?.,\\^$|#\s]/g , "\\$&" );
154-
}
155-
match = self.activeMenu.children( ".ui-menu-item" ).filter( function() {
156-
return new RegExp("^" + escape(character), "i")
157-
.test( $( this ).children( "a" ).text() );
158-
});
159-
match = skip && match.index(self.active.next()) != -1 ? self.active.nextAll(".ui-menu-item") : match;
160-
if ( !match.length ) {
161-
character = String.fromCharCode(event.keyCode);
162-
match = self.activeMenu.children(".ui-menu-item").filter( function() {
97+
break;
98+
case $.ui.keyCode.UP:
99+
self.previous( event );
100+
event.preventDefault();
101+
event.stopImmediatePropagation();
102+
break;
103+
case $.ui.keyCode.DOWN:
104+
self.next( event );
105+
event.preventDefault();
106+
event.stopImmediatePropagation();
107+
break;
108+
case $.ui.keyCode.LEFT:
109+
if (self.collapse( event )) {
110+
event.stopImmediatePropagation();
111+
}
112+
event.preventDefault();
113+
break;
114+
case $.ui.keyCode.RIGHT:
115+
if (self.expand( event )) {
116+
event.stopImmediatePropagation();
117+
}
118+
event.preventDefault();
119+
break;
120+
case $.ui.keyCode.ENTER:
121+
if ( self.active.children( "a[aria-haspopup='true']" ).length ) {
122+
if ( self.expand( event ) ) {
123+
event.stopImmediatePropagation();
124+
}
125+
}
126+
else {
127+
self.select( event );
128+
event.stopImmediatePropagation();
129+
}
130+
event.preventDefault();
131+
break;
132+
case $.ui.keyCode.ESCAPE:
133+
if ( self.collapse( event ) ) {
134+
event.stopImmediatePropagation();
135+
}
136+
event.preventDefault();
137+
break;
138+
default:
139+
event.stopPropagation();
140+
clearTimeout( self.filterTimer );
141+
var match,
142+
prev = self.previousFilter || "",
143+
character = String.fromCharCode( event.keyCode ),
144+
skip = false;
145+
146+
if (character == prev) {
147+
skip = true;
148+
} else {
149+
character = prev + character;
150+
}
151+
function escape( value ) {
152+
return value.replace( /[-[\]{}()*+?.,\\^$|#\s]/g , "\\$&" );
153+
}
154+
match = self.activeMenu.children( ".ui-menu-item" ).filter( function() {
163155
return new RegExp("^" + escape(character), "i")
164156
.test( $( this ).children( "a" ).text() );
165157
});
166-
}
167-
if ( match.length ) {
168-
self.focus( event, match );
169-
if (match.length > 1) {
170-
self.previousFilter = character;
171-
self.filterTimer = setTimeout( function() {
158+
match = skip && match.index(self.active.next()) != -1 ? self.active.nextAll(".ui-menu-item") : match;
159+
if ( !match.length ) {
160+
character = String.fromCharCode(event.keyCode);
161+
match = self.activeMenu.children(".ui-menu-item").filter( function() {
162+
return new RegExp("^" + escape(character), "i")
163+
.test( $( this ).children( "a" ).text() );
164+
});
165+
}
166+
if ( match.length ) {
167+
self.focus( event, match );
168+
if (match.length > 1) {
169+
self.previousFilter = character;
170+
self.filterTimer = setTimeout( function() {
171+
delete self.previousFilter;
172+
}, 1000 );
173+
} else {
172174
delete self.previousFilter;
173-
}, 1000 );
175+
}
174176
} else {
175177
delete self.previousFilter;
176178
}
177-
} else {
178-
delete self.previousFilter;
179179
}
180180
}
181181
});

0 commit comments

Comments
 (0)