3
(function( $ ){

$.fn.foo = function(params) {

    params = $.extend( {
        on: false
    }, params);

    this.each(function(){
        if(params.on) {
            function alertDate(){
                alert('FOO BAR!!!');
            }
        }
    });
};
})( jQuery );

如何从脚本中访问“alertDate()”函数?

如果我使用:

$('#test').foo()

将允许我访问该函数,好的,一切都很好,我将在 this.each(function(){}) 内部访问函数“alertDate()”。

我想通过以下方式从外部访问函数“alertDate()”:

$('#text').foo({on: 'true'}).each().alertDate();

我怎样才能做到这一点?

提前感谢,对不起英语不好

4

2 回答 2

2

这是我将如何处理它,以便您的alertDate()函数可以在内部和外部使用:

$.fn.foo = function(params) {
    params = $.extend( {
        on: false
    }, params);

    this.alertDate = function(){
        alert("FOO BAR!!!");
    }

    this.each(function(){
        if(params.on) {
            this.alertDate();
        }
    });

    return this; 
};

//Externally the alertDate function could be called as:
$("test").foo().alertDate();
于 2013-01-10T14:05:56.793 回答
0

你可以做这样的事情,但这不是插件通常的工作方式。

$.fn.foo = function() {
    function bar() { 
        alert("bar");
    } 
    this.bar = bar; 
    return this; 
};

$("a").foo().bar();
于 2013-01-10T13:49:18.183 回答