Come si collega una funzione di callback personalizzata all'estensione di completamento automatico di jquery?

StackOverflow https://stackoverflow.com/questions/610847

  •  03-07-2019
  •  | 
  •  

Domanda

Sto usando l'estensione 1.0.2 di completamento automatico jquery di Dylan Verheul, Dan G. Switzer, Anjesh Tuladhar, Jörn Zaefferer. Sto tentando di eseguire la mia funzione di callback quando .show () e .hide () vengono chiamati dal controllo di completamento automatico. Non ho trovato alcun modo per riconoscere effettivamente la mia funzione di richiamata. Se qualcuno ha familiarità con questo controllo e può aiutare sarei molto grato.

È stato utile?

Soluzione

Siamo spiacenti, non ho una risposta facile alla tua domanda, ho controllato il codice sorgente del plug-in e non ho trovato alcun meccanismo per farti desiderare. Penso che dovrai aggiornare tu stesso questo plugin per farlo funzionare come desideri.

L'idea è di aggiungere i callback al parametro options e quindi fare in modo che il plug-in utilizzi questi callback. Innanzitutto, dovrai modificare il codice del plugin. Vai alla funzione che crea la classe incaricata di mostrare / nascondere il controllo di completamento automatico:

$.Autocompleter.Select = function (options, input, select, config) {

Se scorri verso il basso, puoi vedere che questa funzione restituisce un oggetto con i metodi show () e hide () . Puoi aggiungere il seguente codice:

hide: function() {
    ...
    options.showCallback && options.showCallback(); // Invoke callback function if set
},
...
show: function() {
    ...
    options.hideCallback && options.hideCallback(); // Invoke callback function if set
},

Infine, quando si crea il completamento automatico, è necessario aggiungere i callback alle opzioni:

$("#myTextBox").autocomplete("http://...",
{
    showCallback : function() { /* do what you want here */ },
    hideCallback : function() { /* do what you want here */ }
});

Non testato affatto, è solo una soluzione rapida e sporca. Spero che questo aiuti.

Autorizzato sotto: CC-BY-SA insieme a attribuzione
Non affiliato a StackOverflow
scroll top