Плагин jQuery: обработка событий - PullRequest
5 голосов
/ 26 ноября 2008

В настоящее время я работаю над плагином jQuery, и мне интересно, возможно ли, чтобы плагин прослушивал события, а не вызывался событиями.

Итак, вместо этого:

$('#element_id').mouseover(function() {
    $(this).plugin();
});

$('#element_id').mouseout(function() {
    $(this).pluginHide();
});

Я хочу попробовать сделать что-то вроде этого:

$('#element_id').plugin(????, ????);

И замените символ? На какую-то ссылку на элемент и событие, которые должны вызвать его отображение или скрытие. Я все еще промокаю ногами с помощью jQuery, так что терпите меня, если решение этой проблемы до боли очевидно.

1 Ответ

8 голосов
/ 26 ноября 2008

Немного поэкспериментировав, похоже, я искал встроенную функцию "bind ()". Чтобы решить мою первоначальную проблему:

jQuery.fn.plugin = function(show, hide) {
    this.bind(show, function() {
        // Do something to show.
    };

    this.bind(hide, function() {
        // Do something to hide.
    };
};
...