为什么_init或_create没有在自己的jQuery Widget中被触发?

时间:2012-09-04 22:59:40

标签: jquery widget

我尝试开发我的第一个jQUery小部件:

        (function( $ ) {
            $.widget( "ui.weekCalendar", {

                options: { 
                    start : new Date(),
                    end : new Date(),
                },

                // Set up the widget
                _create: function() {
                    alert('GNAAA');
                },

                _setOption: function( key, value ) {
                    switch( key ) {
                        case "clear":
                        break;
                    }

                    $.Widget.prototype._setOption.apply( this, arguments );
                    this._super( "_setOption", key, value );
                },


                destroy: function() {
                    $.Widget.prototype.destroy.call( this );

                }
            });
        }( jQuery ) );      

        $('#calendar').weekCalendar();

我按照http://wiki.jqueryui.com/w/page/12138135/Widget%20factory上的说明操作。但我不明白为什么_create函数没有被触发。即便如此,_init函数也不会被触发。这是什么问题?

1 个答案:

答案 0 :(得分:0)

真是个愚蠢的错误:

$('#calendar').weekCalendar();

应该是

$(document).ready(function(){
    $('#calendar').weekCalendar();          
});

我的生命需要3个小时:(