위젯 이름을 'discussionwidget'으로 만듭니다. create 함수는 기본적으로 호출됩니다. 하지만 호출하려고하는 다음로드 함수가 호출되지 않습니다. 도와주세요 :위젯 메서드가 호출되지 않습니다
(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>');
widgetStructure.appendTo($($(this.options.containerClass)));
},
load: function (datasource) {
//Load the discussion history
debugger;
var ds = datasource;
var message = $.parseJSON(ds.d);
$("#ui-discussion").html(null);
$.each(message, function (index, item) {
if (item.ParentID == "NULL" && item.Display_Text != "") {
var content = "<div><div id='empImage'><img src='" + item.emp_thumbnail_src + "'/></div>" + "<div>" +
"<label id='empName'>" + item.Enterprise_Id + "</label><label id='chatdate'>" + item.Date + "</label>" +
"<label>" + item.Display_Text + "</label><label id='" + item.DiscussionID + "' class='discussionID'>" + item.DiscussionID + "</label></div></div>";
$('<ul><li class="ui-discussion-parentmessage">' + content + '</li></ul>').appendTo('#ui-discussion');
}
$('#replychat').addClass('ui-reply-disabled');
}
});
},
widget: function() {
return this.element;
},
destroy: function() {
$.Widget.prototype.destroy.call(this);
}//extra , here
});
var CloseDiscussionWidget = function() {
}
})(jQuery);
이 여기에 내가 discussionwidget 제어의 방법 부하를 호출 위젯 &을 만드는 오전, 페이지 코드입니다. :
(function ($) {
// Load discussion history fist time
$(document).ready(function() {
Discussionwidget = $('.ui-content-gutter').discussionwidget({
containerClass: ".ui-content-gutter"
});
$.ajax({
type: "POST",
url: baseURL + "/services/peoplewebservice.asmx/GetDiscussionHistory",
dataType: "json",
contentType: "application/json; charset=utf-8",
success: function (data) {
debugger;
($(Discussionwidget)).load(data);
}
});
})
}(jQuery));
나는 또한 나의 코드에서 실수를 발견했다. Discussionwidget = $ ('# discussionwidget')와 같이 써야합니다. 토론 위젯 ({containerClass : ".ui-content-gutter"}). data ('discussionwidget'); 또는 당신이 그것을 위에 한 방법. 감사. –
@ user2614405 위젯 팩토리를 사용할 때 선호되는 방법입니다. –
@@ Arun : 다시 귀찮게해서 죄송합니다. http://stackoverflow.com/questions/18972942/jquery-event-handler-not-working-when-calling-from-page에서도 도움을받을 수 있습니까? –