jQuery插件 - 传递自定义事件

时间:2012-07-10 20:38:27

标签: jquery jquery-plugins

我已经构建了自己的jQuery分页插件。见下文:

$.fn.extend({
    pager: function(options) {
        var settings = {
            pageSize: 10,
            onPageChanged: function() { }
        };

        if (options)
            $.extend(settings, options);

        return this.each(function() {
            // Trigger onPageChanged event
        });
    }
});

可以这样说:

$('#placeholder').pager({ pageSize: 20, onPageChanged: function() { alert('Page Changed!'); } });

我想知道如何通过我的插件中的选项触发传入的函数。我确信这很简单,但我似乎无法在文档中找到任何帮助。

我很感激帮助。感谢

1 个答案:

答案 0 :(得分:1)

尝试使用:

settings.onPageChanged.call(this);

您还可以选择向.call()添加其他参数,这些参数将传递给函数。

如果您想要一个可以在以后使用$('#placeholder').on("onPageChanged",handler)绑定的真正自定义事件,请改为:

this.on("onPageChanged",settings.onPageChanged);

然后用:

触发它
this.triggerHandler("onPageChanged");