gpt4 book ai didi

jquery - Kendo ui 点击事件多次触发

转载 作者:行者123 更新时间:2023-12-01 07:58:17 24 4
gpt4 key购买 nike

我在使用 kendo ui 对话框窗口时遇到问题。当我第二次打开剑道对话框窗口并单击“接受”按钮时,事件会触发两次,下次会触发三次,依此类推。有工作示例 http://jsfiddle.net/T89mG/74/ 。我哪里出错了?

    addToQueueWindow = $("#AddToQueueWindow").kendoWindow({
modal: true,
visible: false
}).data("kendoWindow");

$(document).ready(
$("#showAddMessageDialog")
.button()
.click(function (e) {
addToQueueWindow.center().open();
addToQueueWindow.wrapper
.find(".add-confirm,.add-cancel")
.click(function (e) {
if ($(this).hasClass("add-confirm")) {
$.ajax({
url: '@Url.Action("AddToQueueHandler", "ManageMessageState")',
type: 'POST',
data: { Id: $("#MessageidInput").val() },
complete: function (event, ui) {
$("#QueueContentGrid").data("kendoGrid").dataSource.read();
}
});
}
addToQueueWindow.close();
});
})
);

最佳答案

对话框小部件的 DOM 元素是在调用 .kendoWindow() 时创建的,但每次单击按钮打开窗口时,都会添加另一个 .click() > 窗口中按钮的处理程序。当窗口关闭时,这些 DOM 元素不会被删除。它们只是被隐藏了。因此,您要向相同的 DOM 元素添加多个点击处理程序。

你应该移动:

addToQueueWindow.wrapper
.find(".add-confirm,.add-cancel")
.click(function (e) {

在打开窗口按钮的点击处理程序之外。只需在调用 .kendoWindow()

后执行一次即可

关于jquery - Kendo ui 点击事件多次触发,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/21981738/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com