@ -39,28 +39,29 @@ $.fn.search = function(parameters) {
? $ . extend ( true , { } , $ . fn . search . settings , parameters )
: $ . extend ( { } , $ . fn . search . settings ) ,
className = settings . className ,
metadata = settings . metadata ,
regExp = settings . regExp ,
fields = settings . fields ,
selector = settings . selector ,
error = settings . error ,
namespace = settings . namespace ,
eventNamespace = '.' + namespace ,
moduleNamespace = namespace + '-module' ,
$module = $ ( this ) ,
$prompt = $module . find ( selector . prompt ) ,
$searchButton = $module . find ( selector . searchButton ) ,
$results = $module . find ( selector . results ) ,
$result = $module . find ( selector . result ) ,
$category = $module . find ( selector . category ) ,
element = this ,
instance = $module . data ( moduleNamespace ) ,
disabledBubbled = false ,
className = settings . className ,
metadata = settings . metadata ,
regExp = settings . regExp ,
fields = settings . fields ,
selector = settings . selector ,
error = settings . error ,
namespace = settings . namespace ,
eventNamespace = '.' + namespace ,
moduleNamespace = namespace + '-module' ,
$module = $ ( this ) ,
$prompt = $module . find ( selector . prompt ) ,
$searchButton = $module . find ( selector . searchButton ) ,
$results = $module . find ( selector . results ) ,
$result = $module . find ( selector . result ) ,
$category = $module . find ( selector . category ) ,
element = this ,
instance = $module . data ( moduleNamespace ) ,
disabledBubbled = false ,
resultsDismissed = false ,
module
;
@ -167,6 +168,7 @@ $.fn.search = function(parameters) {
if ( pageLostFocus ) {
return ;
}
resultsDismissed = false ;
if ( module . resultsClicked ) {
module . debug ( 'Determining if user action caused search to close' ) ;
$module
@ -259,7 +261,8 @@ $.fn.search = function(parameters) {
// search shortcuts
if ( keyCode == keys . escape ) {
module . verbose ( 'Escape key pressed, blurring search field' ) ;
module . trigger . blur ( ) ;
module . hideResults ( ) ;
resultsDismissed = true ;
}
if ( module . is . visible ( ) ) {
if ( keyCode == keys . enter ) {
@ -389,21 +392,6 @@ $.fn.search = function(parameters) {
}
} ,
trigger : {
blur : function ( ) {
var
events = document . createEvent ( 'HTMLEvents' ) ,
promptElement = $prompt [ 0 ]
;
if ( promptElement ) {
module . verbose ( 'Triggering native blur event' ) ;
events . initEvent ( 'blur' , false , false ) ;
promptElement . dispatchEvent ( events ) ;
promptElement . blur ( ) ;
}
}
} ,
get : {
inputEvent : function ( ) {
var
@ -882,6 +870,9 @@ $.fn.search = function(parameters) {
? callback
: function ( ) { }
;
if ( resultsDismissed ) {
return ;
}
if ( ! module . is . visible ( ) && module . has . results ( ) ) {
if ( module . can . transition ( ) ) {
module . debug ( 'Showing results with css animations' ) ;