0

简单地说,我有以下内容:

jQuery.fn.X = function(){
    var elements = jQuery(this);
    elements.click(function(){
        var self = jQuery(this);
        //elements here is not defined why?
    });

为什么elements没有在 on click 函数中定义,而应该将其作为闭包变量?

4

1 回答 1

3

这是创建 jQuery 插件的正确方法。

jQuery.fn.X = function () {
    // here, "this" will be a jQuery object containing all elements you matched
    // with X(). You must return that object.
    return this.click(function () {
        // here, "this" will be a DOM element. You don't have to return it.
        var self = jQuery(this);
        // ...
    });
});

您必须返回 jQuery 以保持方法链接工作。

于 2013-06-30T05:42:13.420 回答