2011-01-17 6 views
7

Ich verwende YUI 3.3.0 und das AutoComplete-Widget. Ich bin ganz neu bei YUI. Hier ist das Ding. Ich arbeite mit AutoComplete.YUI AutoComplete-Ereignisse, wie?

Wie kann ich ein von AutoComplete ausgelöstes Ereignis abfangen? Die Dokumentation besagt, dass ein ausgewähltes Ereignis ausgelöst wird, wenn ein Benutzer ein Element aus der Liste auswählt. Ich möchte diesem Ereignis eine Funktion hinzufügen. Wie mache ich das?

Antwort

15

Hier ist ein Beispiel für den Plug-Ansatz, http://tivac.com/yui3/so/skladjfyhafjk_autocomplete.htm

einfach Ihre Event-Handler als Teil des Konfigurationsgebens, wenn Sie erste Stecker zum automatischen Vervollständigung in den Eingang.

Y.one("#ac").plug(Y.Plugin.AutoComplete, { 
    resultHighlighter: 'phraseMatch', 
    source: ['foo', 'bar', 'baz'], 
    on : { 
     select : function(e) { 
      console.log(arguments); //TODO: REMOVE DEBUGGING 
     } 
    } 
}); 

Sie auch nach dem Element abonnieren wurde mit dem Namensraum eingesteckt es („ac“) misst.

Y.one("#ac").ac.on("select", function() { 
    console.log("post-plugin event subscription"); //TODO: REMOVE DEBUGGING 
}); 

Wenn Sie es als eine Klasse verwenden, funktioniert es so.

var ac = new Y.AutoComplete({ 
    inputNode: '#ac', 
    source: ['foo', 'bar', 'baz'] 
}); 

ac.on("select", function() { 
    console.log("Class event subscription"); //TODO: REMOVE DEBUGGING 
});