} else {
// Expand from right
newCSS.left = 'auto';
- newCSS.right = $( 'body' ).width() - ( context.config.$region.offset().left + context.config.$region.outerWidth() );
+ newCSS.right = $( document ).width() - ( context.config.$region.offset().left + context.config.$region.outerWidth() );
}
context.data.$container.css( newCSS );
var selected = context.data.$container.find( '.suggestions-result-current' );
if ( !result.get || selected.get( 0 ) !== result.get( 0 ) ) {
if ( result === 'prev' ) {
- if( selected.is( '.suggestions-special' ) ) {
+ if( selected.hasClass( 'suggestions-special' ) ) {
result = context.data.$container.find( '.suggestions-result:last' );
} else {
result = selected.prev();
- if ( !( result.length && result.hasClass( '.suggestions-result' ) ) ) {
+ if ( !( result.length && result.hasClass( 'suggestions-result' ) ) ) {
// there is something in the DOM between selected element and the wrapper, bypass it
result = selected.parents( '.suggestions-results > *' ).prev().find( '.suggestions-result' ).eq(0);
}
}
} else {
result = selected.next();
- if ( !( result.length && result.hasClass( '.suggestions-result' ) ) ) {
+ if ( !( result.length && result.hasClass( 'suggestions-result' ) ) ) {
// there is something in the DOM between selected element and the wrapper, bypass it
result = selected.parents( '.suggestions-results > *' ).next().find( '.suggestions-result' ).eq(0);
}
- if ( selected.is( '.suggestions-special' ) ) {
+ if ( selected.hasClass( 'suggestions-special' ) ) {
result = $( [] );
} else if (
result.length === 0 &&
preventDefault = false;
switch ( key ) {
- // Arrow down
- case 40:
+ case 40: // Arrow down
if ( wasVisible ) {
$.suggestions.highlight( context, 'next', true );
context.data.selectedWithMouse = false;
}
preventDefault = true;
break;
- // Arrow up
- case 38:
+ case 38: // Arrow up
if ( wasVisible ) {
$.suggestions.highlight( context, 'prev', true );
context.data.selectedWithMouse = false;
}
preventDefault = wasVisible;
break;
- // Escape
- case 27:
+ case 27: // Escape
context.data.$container.hide();
$.suggestions.restore( context );
$.suggestions.cancel( context );
context.data.$textbox.trigger( 'change' );
preventDefault = wasVisible;
break;
- // Enter
- case 13:
+ case 13: // Enter
context.data.$container.hide();
preventDefault = wasVisible;
selected = context.data.$container.find( '.suggestions-result-current' );
switch ( context.data.keypressed ) {
// This preventDefault logic is duplicated from
// $.suggestions.keypress(), which sucks
- case 40:
+ case 40: // Arrow down
e.preventDefault();
e.stopImmediatePropagation();
break;
- case 38:
- case 27:
- case 13:
+ case 38: // Arrow up
+ case 27: // Escape
+ case 13: // Enter
if ( context.data.$container.is( ':visible' ) ) {
e.preventDefault();
e.stopImmediatePropagation();