0

我有一个简单的 jquery 插件。当我传递一个值时它工作正常。但是当函数返回值时不起作用。它显示了功能定义。

请在Jsfiddle中试试这个

(function ( $ ) {
    $.fn.greenify = function( options ) {

        var settings = $.extend({
            // These are the defaults.
            color: "#556b2f",
            backgroundColor: "white",
            selectedID:function(){}    
        }, options );

        alert(settings.selectedID);
    };
}( jQuery ));


//Plugin Call
$( "div" ).greenify({
    color: "orange",
    //selectedID:6  it is working fine
    selectedID:function (){return 5}
});
4

3 回答 3

4

alert()您在调用时传递了一个函数引用alert(settings.selectedID),而不是您需要调用所引用的函数settings.selectedID并将其返回的值传递给alert()

所以试试

alert(settings.selectedID());

演示:小提琴

于 2013-10-18T06:32:36.563 回答
0

你在"()"这里不见了

alert(settings.selectedID);

所以理想情况下,您必须调用该函数才能正常工作

alert(settings.selectedID());
于 2013-10-18T06:34:27.783 回答
0

settings.selectedID 是一个函数

alert(settings.selectedID());
于 2013-10-18T06:35:42.073 回答