jQuery Plugin: Handling Events

2020-07-16 12:35发布

I'm currently working on a jQuery plugin and I'm wondering if it would be possible to have the plugin listen for events rather than being triggered by events.

So instead of this:

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

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

I want to try to do something like this:

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

And replace the ?'s with some sort of reference to the element and event that should trigger it to show or hide. I'm still getting my feet wet with jQuery, so bear with me if a solution to this is painfully obvious.

1条回答
迷人小祖宗
2楼-- · 2020-07-16 12:51

After experimenting a bit, it looks like I was looking for the built-in "bind()" function. To solve my original problem:

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

    this.bind(hide, function() {
        // Do something to hide.
    };
};
查看更多
登录 后发表回答