首页 > 解决方案 > 剑道窗口绑定 - 不必要的重复动作

问题描述

我有剑道网格,在每一行中我都有第一列链接类型 - 在剑道窗口中打开详细信息。

<ak-col k-title="Record number">
      <ak-template>                    
          <a click.delegate="openDetails(id)">${id}</a>
      </ak-template>
</ak-col>

我需要实现在剑道窗口关闭确认期间提供的功能,并向用户提出问题。我做了以下事情:

$(this.boardingDetails.element).data("kendoWindow")
    .bind("close", function (e) {
        if (!confirm("All unsaved data will be lost. Are you want to close the window?")) {
           e.preventDefault();
        }
    });

它适用于第一次行动。但是下次我看到两次确认问题,然后 - 三次......等等。

起初我认为 e.preventDefault() 操作中存在这个问题。但后来我重新制作了(只是为了检查)脚本:

var counter = 0;
$(this.boardingDetails.element).data("kendoWindow")
    .bind("close", function (e) {
        counter++;
        console.log(counter);
    }); 

结果如下: 在此处输入图像描述

这意味着绑定操作中的问题。

我该如何解决?

如果我使用解除绑定

var page = this;
$(this.boardingDetails.element).data("kendoWindow")
    .bind("close", function (e) {
        if (!confirm("All unsaved data will be lost. Are you want to close the window?")) {
            e.preventDefault();
        }
        $(page.boardingDetails.element).data("kendoWindow").unbind("close");

    });

它工作错误。我第一次看到关闭的问题,但如果我回答“否”,然后我试图再关闭一次,窗口将在没有构造问题的情况下关闭。

提前致谢

标签: kendo-ui

解决方案


推荐阅读