jquery小部件帮助

时间:2011-07-15 18:17:02

标签: jquery

下式给出: jquery 1.3.2 jquery ui 1.7.2

我发现了以下jquery片段但是遇到了问题。

    $(document).ready(function() {
        $.widget("ui.hello", {
            options: {
                foo: "bar",
                baz: "quux"
            },
            _init: function() {
                var text = this.options.text;
                this.element.innerHTML("hello " + this.options.foo + " and " + this.options.baz);
            }
        });

        $("#thing").hello({ foo: "WORLD!" });
    });

以下是问题:

this.options.baz); 未定义不应该使用默认值吗?

源: http://blog.citrusbyte.com/2010/09/16/jquery-widgets-bringing-sanity/

2 个答案:

答案 0 :(得分:0)

调用_init函数时,由于调用上下文,

this可能没有引用小部件。尝试删除this.,只需参考如下选项:

this.element.innerHTML("hello " + options.foo + " and " + options.baz);

答案 1 :(得分:0)

这就是我最终做的事情:

   <script type="text/javascript">       
        $(document).ready(function() {
            $.widget("ui.hello", {

                _init: function() {
                    var text = this.options.text;
                    alert(this.options.baz);
                }
            });

            $.extend($.ui.hello, {
                defaults: {
                    baz: "whatever"
                }
            });
            $("#thing").hello({ foo: "WORLD!" });               
        });        
    </script>