same( $(".ui-menu:visible").length, 0 );
start();
}, 200);
-})
+});
test("close-on-blur is cancelled when starting a search", function() {
var ac = $("#autocomplete").autocomplete({
same( $(".ui-menu:visible").length, 1 );
start();
}, 200);
-})
+});
+
+test( "prevent form submit on enter when menu is active", function() {
+ var event;
+ var ac = $( "#autocomplete" ).autocomplete({
+ source: [ "java", "javascript" ]
+ }).val( "ja" ).autocomplete( "search" );
+
+ event = $.Event( "keydown" );
+ event.keyCode = $.ui.keyCode.DOWN;
+ ac.trigger( event );
+ same( $( ".ui-menu-item:has(.ui-state-hover)" ).length, 1, "menu item is active" );
+
+ event = $.Event( "keydown" );
+ event.keyCode = $.ui.keyCode.ENTER;
+ ac.trigger( event );
+ ok( event.isDefaultPrevented(), "default action is prevented" );
+});
+
+test( "allow form submit on enter when menu is not active", function() {
+ var event;
+ var ac = $( "#autocomplete" ).autocomplete({
+ source: [ "java", "javascript" ]
+ }).val( "ja" ).autocomplete( "search" );
+
+ event = $.Event( "keydown" );
+ event.keyCode = $.ui.keyCode.ENTER;
+ ac.trigger( event );
+ ok( !event.isDefaultPrevented(), "default action is prevented" );
+});
})(jQuery);
break;
case keyCode.ENTER:
case keyCode.NUMPAD_ENTER:
- // when menu is open or has focus
- if ( self.menu.element.is( ":visible" ) ) {
+ // when menu is open and has focus
+ if ( self.menu.active ) {
event.preventDefault();
}
//passthrough - ENTER and TAB both select the current element