附加到事件 - 但只有条件

时间:2016-08-15 16:09:26

标签: javascript model-view-controller telerik

我正在使用kendo schedule小部件,并希望在某些情况下防止datsource在crud操作后读取。 我通过附加到requestStart事件来尝试这个:

function subscribeToEvent(e) {

    if (e.condition===condition) {
        var scheduler = $("#scheduleCustomerSchedule").data("kendoScheduler");
        scheduler.dataSource.bind("requestStart", dataSource_requestStart);
    }

}

function dataSource_requestStart(e) {
    e.preventDefault();
}

这是有效的,但探测器是,我不知道在执行完之后这个事件是如何解开的。 在我的情况下,这段代码当然会永远阻止dataSource.Read()

THX

1 个答案:

答案 0 :(得分:0)

您需要订阅requestStart事件并检查实际事件处理程序中的条件。如果该特定条件仅在subscribeToEvent方法中可用,则可以使用闭包传递它。

function subscribeToEvent(e) {
    var scheduler = $("#scheduleCustomerSchedule").data("kendoScheduler");
    scheduler.dataSource.bind("requestStart", dataSource_requestStart);    
}

function dataSource_requestStart(e) {
    if (e.condition === condition)
        e.preventDefault();
}