YUI Автозаполнение событий, как? - PullRequest
7 голосов
/ 17 января 2011

Я использую YUI 3.3.0 и виджет автозаполнения. Я совершенно новичок в YUI. Вот вещь У меня автозаполнение работает.

Как мне поймать событие, запущенное автозаполнением? В документации утверждается, что событие select вызывается, когда пользователь выбирает элемент из списка. Я хочу прикрепить функцию к этому событию. Как мне это сделать?

1 Ответ

16 голосов
/ 17 января 2011

Вот пример подхода к плагину: http://tivac.com/yui3/so/skladjfyhafjk_autocomplete.htm

Просто передайте ваши обработчики событий как часть конфигурации, когда вы впервые подключите автозаполнение к входу.

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

Вы можетеподписаться также после того, как элемент был подключен с использованием пространства имен, к которому он присоединяется ("ac").

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

Если вы используете его как класс, он работает следующим образом.

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

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