设置剑道小部件事件的回调函数
Set callback function for kendo widget events
我没有看到在 kendo ui 小部件代码触发后添加回调的文档。我有以下剑道 UI 小部件声明。
$("#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、move、moveEnd、add 和 save 等事件处理程序后被修改了。我想做的是在kendoScheduler添加或节省时间之后更改特定元素的颜色。完成此操作后,是否可以添加回调?
看看这篇文章中的完整事件示例:
read: {
dataType: "json",
type: "POST",
contentType: "application/json; charset=utf-8",
url: _op.serviceBaseUrl + "ReadX",
complete: function () {
console.log('Tweak your UI here');
}
}
显然,"完成"事件仅在处理远程数据时才可用。
此外,请看一下这个requestEnd
事件:
requestEnd: function(e) {
var response = e.response;
var type = e.type;
console.log(type); // displays "read"
console.log(response.length); // displays "77"
}
使用打开e.type
来区分不同的操作(请求的类型。设置为"创建"、"读取"、"更新"或"销毁"。
我为这个问题找到了一个优雅的答案。显然,有一个名为dataBound的事件:它允许在完成所有操作后触发回调。
就我而言,我想使用:
dataBound: function(e){
// Code after widget is finished processing everything
}
相关文章:
- JavaScript回调函数
- 如何在回调函数中执行流
- 回调函数中传递参数的困难(Google Map API Markers)
- 如何正确地将参数传递给RequireJS回调函数
- 回调函数在python代码中离线
- 从AJAX回调函数中分离数据
- 赋值后的回调函数
- 如何在javascript回调函数中返回多个变量
- 函数表达式,返回回调函数
- 等待回调函数执行
- JavaScript回调函数和Google Feed API
- 如何从ajax成功回调函数中读取javascript变量
- 正在保存JavaScript内部回调函数中的值
- 有没有什么方法可以停止Jquery中的animate(也可以停止完整的回调函数)
- 如何在javascript中添加带有回调函数的按钮点击事件作为window.conf
- 在Golang回调函数中启用CORS
- 在初始函数完成之前调用回调函数
- jQuery Mobile:如何在$.Mobile.changePage之前运行回调函数
- 即使使用回调函数也无法返回值
- 为什么prototypjs观察到回调函数有绑定