2013-09-27 18 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" 
    } 

使用切換到不同的業務之間的區分(該類型的請求的設置爲「創建」,「讀」。 ,「更新」或「銷燬」)。