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 回答