Kendo ui 剑道窗口绑定-不必要的重复操作
我有剑道网格,在每一行我都有链接类型的第一列-用于剑道窗口中打开的详细信息Kendo ui 剑道窗口绑定-不必要的重复操作,kendo-ui,Kendo Ui,我有剑道网格,在每一行我都有链接类型的第一列-用于剑道窗口中打开的详细信息 <ak-col k-title="Record number"> <ak-template> <a click.delegate="openDetails(id)">${id}</a> </ak-template> </ak-col> 它在第一次行动中效果很好。但下
<ak-col k-title="Record number">
<ak-template>
<a click.delegate="openDetails(id)">${id}</a>
</ak-template>
</ak-col>
它在第一次行动中效果很好。但下一次我看到确认问题两次,然后-三次。。。等等
起初,我认为e.preventDefault()操作中存在这个问题。
但后来我重新制作了(仅供检查)脚本:
结果如下:
这意味着绑定操作中的问题
我怎样才能修好它
如果我使用unbind
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");
});
这是错误的。我第一次看到要关闭的问题,但如果我回答“否”,然后我又试图关闭一次,则窗口将在没有确认问题的情况下关闭
提前感谢您需要在创建和显示窗口的位置显示代码(最好创建一个显示问题的dojo/fiddle)。您可能会创建一次窗口,但每次显示时都会绑定,这会导致多个事件。在解除绑定的情况下,回答“否”时不要解除绑定,只有在关闭窗口时才解除绑定。但是如果您创建一次、绑定一次、显示多次,则不必取消绑定。哇!!!非常感谢你!!!仅为确认解除绑定==真工作正常!
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");
});