2

我正在使用 Telerik 的名为 Kendo UI 的 jQuery 软件来创建一个模态弹出窗口。我对包含"Confirm"/"Cancel"确认的 Kendo 模态弹出框有一个相当奇怪的问题。第一次打开确认窗口并单击任一按钮(确认或取消)时,窗口工作正常。我第二次打开此弹出窗口并单击按钮时,我的 Kendoclick事件会触发两次。我第三次打开窗口时,点击事件触发了 3 次,等等。我不知道为什么。它应该只发射一次。

这是我的 JS 代码。触发两次的 click 函数在 Confirm & Cancel 部分中,从以下行开始.click(function () {

var kendoWindow = $("#delete-confirmation").kendoWindow({
    title: "Confirm",
    resizable: false,
    modal: true,
    center: true
});

kendoWindow.data("kendoWindow")
    .center().open();

kendoWindow
    .find(".delete-confirm")
    .click(function () {
        kendoWindow.data("kendoWindow").close();
        destroyItem();
    })
   .end();

kendoWindow
    .find(".delete-cancel")
    .click(function () {
        kendoWindow.data("kendoWindow").close();
    })
   .end();

知道我做错了什么吗?

谢谢

4

1 回答 1

4

听起来您应该只初始化一次对话框(创建它并添加您的处理程序)。然后每次你需要对话框显示你只调用你的

kendoWindow.data("kendoWindow").center().open();

行代码。看起来每次您打开对话框时都会添加一个新的单击处理程序,并且以前的处理程序和新的处理程序都将在单击事件上被调用。

于 2012-11-30T19:41:04.433 回答