2013-09-27 21 views
0

在kendo ui小部件代码触发后,我没有看到添加回调函数的文档。我有以下kendo ui小部件声明。为kendo小部件事件设置回调函数

$("#scheduler").kendoScheduler({ 
    date: new Date("2013/6/13"), // Change this to current date with twig 
    startTime: new Date("2013/6/13 07:00 AM"), // Change this to 12:00 AM of current date 
    allDaySlot: false, 
    width:600, 
    height:500, 
    resize: function(e) { 
     if (careGiverIsOccupied(e.start, e.end, e.event, e.resources)) { 
      this.wrapper.find(".k-marquee-color").addClass("invalid-slot"); 
      e.preventDefault(); 
     } 
    }, 
    resizeEnd: function(e) { 
     if (!checkAvailability(e.start, e.end, e.events)) { 
      e.preventDefault(); 
     } 
    }, 
    move: function(e) { 
     if (careGiverIsOccupied(e.start, e.end, e.event, e.resources)) { 
      this.wrapper.find(".k-event-drag-hint").addClass("invalid-slot"); 
     } 
    }, 
    moveEnd: function(e) { 
     if (!checkAvailability(e.start, e.end, e.event, e.resources)) { 
      e.preventDefault(); 
     } 
    }, 
    add: function(e) { 
     if (!checkAvailability(e.event.start, e.event.end, e.event)) { 
      e.preventDefault(); 
     } 
     changeColors(); 
    }, 
    save: function(e) { 
     if (!checkAvailability(e.event.start, e.event.end, e.event)) { 
      e.preventDefault(); 
     } 
     changeColors(); 
    }, 
    views: [ 
     "week", 
     "month" 
    ], 
    dataSource: { 
     data: [ 
      { 
       eventID: 2, 
       title: "Hey man", 
       start: new Date("2013/6/13 12:00"), 
       end: new Date("2013/6/13 13:30"), 
       pending: true, 
       permissionToDelete: false, 
       careGiverId: 1 
      }, 
      { 
       eventID: 1, 
       title: "Call Charlie about the project", 
       start: new Date("2013/6/13 10:30"), 
       end: new Date("2013/6/13 11:30"), 
       pending: false, 
       permissionToDelete: false, 
       careGiverId: 1 
      } 
      ], 
     schema: { 
      model: { 
       id: "eventID", 
       fields: { 
        eventID: { type: "number" }, 
        title: { defaultValue: "No title", validation: { required: true } }, 
        start: { type: "date" }, 
        end: { type: "date" }, 
        careGiverId: { nullable: true }, 
        pending: { type: "boolean", defaultValue:true }, 
        permissionToDelete: { type: "boolean", defaultValue:true }, 
        isAllDay: { type: "boolean" } 
       } 
      } 
     } 
    }, 
    group: { 
     resources: [ "care" ] 
    }, 
    resources: [ 
     { 
      field: "careGiverId", 
      name: "care", 
      dataSource: [ 
       { 
        // Change the text with care giver name, change value with care giver id 
        text: "Jeffery Dohmer (Care Giver 1)", value: 1, color: "#00FF00" 
       } 
      ], 
      title: "Care" 
     } 
    ] 
}); 

的问题是,我的文档的DOM结构的事件处理程序像resizeEnd,移动,moveEnd,添加之后修改,并保存已被解雇。我想要做的是在kendoScheduler添加或保存时间之后更改特定元素的颜色。无论如何要在完成后添加回调?

回答

0

我发现这个问题的优雅答案。显然有一个叫做dataBound的事件:允许在事情完成后发出回调。

在我来说,我想用:

dataBound: function(e){ 

    // Code after widget is finished processing everything 

} 
+0

你提的问题是关于“添加或保存”,数据绑定的火灾进行其他操作,如删除。好吧,无论如何,如果它的作品有用。 – Vojtiik

0

在这post看看完整的事件例如:

read: { 
       dataType: "json", 
       type: "POST", 
       contentType: "application/json; charset=utf-8", 
       url: _op.serviceBaseUrl + "ReadX", 
       complete: function() { 
         console.log('Tweak your UI here'); 
       } 
    } 

显然,“完整”事件只有当你与remote data.工作可用。

除了,看看这个requestEndevent:上e.type

requestEnd: function(e) { 
    var response = e.response; 
    var type = e.type; 
    console.log(type); // displays "read" 
    console.log(response.length); // displays "77" 
    } 

使用切换到不同的业务之间的区分(该类型的请求的设置为“创建”,“读”。 ,“更新”或“销毁”)。