Object [object Object] не имеет метода

0

Я новичок в JQuery & Html. Я создаю виджет, называемый мастером обсуждения. во время работы я становлюсь ниже ошибки: Object [object Object] не имеет метода 'discussionwidget'

Не уверен, что может быть причиной того же: Пожалуйста, помогите:

код виджета:

(function ($, undefined) {
    $.widget('ui.discussionwidget', {
        options: {
            userName : 'Arti Agarwal',
            title:"",
            width:"",
            containerClass:".ui-content-gutter"
        },

        _create: function () {
            //Create the structure of Discussion Widget
            var widgetStructure = '<div class="ui-discussion hGridPx_120 wGridPx_10"><div  class="ui-discussion-header hGridPx_18 wGridPx_10"></div><div class="ui-discussion-container hGridPx_100 wGridPx_75"><div class="ui-discussion-messages hGridPx_75 wGridPx_74"> <ul id="ui-discussion"></ul></div> <div class="ui-discussion-input hGridPx_10 wGridPx_10"><label class="input hGridPx_10 wGridPx_60"><span>Add or reply to a comment...</span><textarea id="message" class="hGridPx_10 wGridPx_60"></textarea></label><div class="ui-discussion-send hGridPx_10 wGridPx_10"><a href="#" id="addchat"><span class="ui-image-addchat">Add</span></a> <a href="#" id="replychat" class="ui-reply-disabled"><span class="ui-image-replychat">Reply</span></a></div></div></div></div>';
            widgetStructure.appendTo($($(this.options.containerClass));
        },
widget: function () {
            return this.element;
        },

    });

    var CloseDiscussionWidget = function() {

    }

})(jQuery);

Я вызываю его со страницы:

<script>
        (function ($) {

            //Load discussion history fist time
            $(document).ready(function () {
                GetCurrentUserDetails('arti.agarwa');
                Discussionwidget = $('.ui-content-gutter').discussionwidget({ containerClass: ".ui-content-gutter" });
        } (jQuery));
    </script>
Теги:

1 ответ

0
Лучший ответ

В коде было мало синтаксических ошибок, Try

(function ($, undefined) {
    $.widget('ui.discussionwidget', {
        options: {
            userName: 'Arti Agarwal',
            title: "",
            width: "",
            containerClass: ".ui-content-gutter"
        },

        _create: function () {
            // Create the structure of Discussion Widget
            var widgetStructure = $('<div class="ui-discussion hGridPx_120 wGridPx_10"><div  class="ui-discussion-header hGridPx_18 wGridPx_10"></div><div class="ui-discussion-container hGridPx_100 wGridPx_75"><div class="ui-discussion-messages hGridPx_75 wGridPx_74"> <ul id="ui-discussion"></ul></div> <div class="ui-discussion-input hGridPx_10 wGridPx_10"><label class="input hGridPx_10 wGridPx_60"><span>Add or reply to a comment...</span><textarea id="message" class="hGridPx_10 wGridPx_60"></textarea></label><div class="ui-discussion-send hGridPx_10 wGridPx_10"><a href="#" id="addchat"><span class="ui-image-addchat">Add</span></a> <a href="#" id="replychat" class="ui-reply-disabled"><span class="ui-image-replychat">Reply</span></a></div></div></div></div>');

            //Missing ) here
            widgetStructure.appendTo($($(this.options.containerClass)));
        },
        widget: function () {
            return this.element;
        },

        destroy: function () {
            $.Widget.prototype.destroy.call(this);
        }//extra , here

    });

    var CloseDiscussionWidget = function () {

    }

})(jQuery);

//missing }) here
(function ($) {
    // Load discussion history fist time
    $(document).ready(function () {
        //GetCurrentUserDetails('arti.agarwa');
        Discussionwidget = $('.ui-content-gutter').discussionwidget({
            containerClass: ".ui-content-gutter"
        });
    })
}(jQuery));

Также блок готов к работе может быть описан ниже: нет необходимости использовать функцию обертки

// Load discussion history fist time
jQuery(function ($) {
    GetCurrentUserDetails('arti.agarwa');
    Discussionwidget = $('.ui-content-gutter').discussionwidget({
        containerClass: ".ui-content-gutter"
    });
})
  • 0
    спасибо огромное, ошибка во второй строке была одна. Это был фрагмент кода, который привел к множеству синтаксических ошибок. Но теперь он выдает ошибку «не имеет метода» appendTo, в той же строке. Любое предположение ??
  • 0
    @ user2614405 внес небольшие изменения в функцию _create, смотрите обновление
Показать ещё 3 комментария

Ещё вопросы

Сообщество Overcoder
Наверх
Меню