2011-01-17 11 views
7

Używam widgetu YUI 3.3.0 i AutoComplete. Jestem całkowicie nowy w YUI. To jest ta rzecz. Mam Autouzupełnianie działa.Wydarzenia YUI AutoComplete, jak?

Jak złapać zdarzenie wystrzelone przez autouzupełnianie? Dokumentacja stwierdza, że ​​wybrane zdarzenie jest uruchamiane, gdy użytkownik wybierze element z listy. Chcę dołączyć funkcję do tego wydarzenia. Jak mogę to zrobić?

Odpowiedz

15

Oto przykład dla podejścia wtyczki, http://tivac.com/yui3/so/skladjfyhafjk_autocomplete.htm

Wystarczy zdać obsługi zdarzeń jako część konfiguracji przy pierwszym wtyczka autouzupełnianie do wejścia.

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

Możesz także zasubskrybować po podłączeniu elementu, używając przestrzeni nazw, do której on się przyłącza ("ac").

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

Jeśli używasz go jako klasy, działa to w ten sposób.

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

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