5

私は現在jQueryプラグインに取り組んでおり、プラグインがイベントによってトリガーされるのではなく、イベントをリッスンできるかどうか疑問に思っています。

したがって、これの代わりに:

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

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

私はこのようなことをしたいと思っています:

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

そして、? を、それを表示または非表示にするトリガーとなる要素とイベントへの何らかの参照に置き換えます。私はまだ jQuery に慣れていないので、これに対する解決策が非常に明白である場合は、ご容赦ください。

4

1 に答える 1

8

少し実験したところ、組み込みの「bind()」関数を探していたようです。私の元の問題を解決するには:

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

    this.bind(hide, function() {
        // Do something to hide.
    };
};
于 2008-11-25T23:41:58.310 に答える