剑道对话框弹出多次单击多次打开
Posted
技术标签:
【中文标题】剑道对话框弹出多次单击多次打开【英文标题】:kendo dialog pop up opened multi time with multi click 【发布时间】:2021-10-23 22:40:31 【问题描述】:在我的 grid.js 中
template: "<div>#if(data.c> 0)#<a class='undo' onClick='showDiv(#:id#)'>#:c# test</a># else#N/A##</div>",
首先我有上面的绑定数据。
在我的 showDiv 函数中
$.ajax(
type: 'GET',
url: ",
dataType: 'json',
success: function (data)
$(document).ready(function ()
var dialog = $('#dialog'),
undo = $('.undo');
console.log("first");
undo.click(function ()
console.log("second");
dialog.data("kendoDialog").open();
undo.fadeOut();
);
function onClose()
undo.fadeIn();
dialog.kendoDialog(
width: "450px",
title: "Site Name",
closable: false,
modal: false,
content: data,
actions: [
text: 'close'
],
close: onClose
);
);
);
当我第一次和第二次记录时,每次点击第一次控制台记录一次,但第二次每次点击增加。 假设我点击了 2 次然后控制台日志第二次是两次。
因此我需要关闭 2 次。
看到 2:- 如果我单击第 2 行,一次和第 3 行,然后第三次尝试单击第 2 行,需要关闭 2 次,并且从第 2 行填充的数据用于第一次关闭和第 3 行用于第二次关闭。
这里有什么问题。有什么想法吗?
【问题讨论】:
【参考方案1】:每次执行 showDiv 函数时,您都在向.undo
click 事件添加新的处理程序。解决此问题的最简单方法是更改
undo.click(function ()
到one
undo.one('click', function ()
绑定后添加的处理程序只会执行一次。
【讨论】:
以上是关于剑道对话框弹出多次单击多次打开的主要内容,如果未能解决你的问题,请参考以下文章
jQuery 打开文件对话框在 Chrome 和 IE 中多次打开