Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/javascript/378.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Javascript设置单击超时不';t尊重2-3次点击后的时间延迟_Javascript_Dhtmlx - Fatal编程技术网

Javascript设置单击超时不';t尊重2-3次点击后的时间延迟

Javascript设置单击超时不';t尊重2-3次点击后的时间延迟,javascript,dhtmlx,Javascript,Dhtmlx,我正在用javascript dhtmlx编写代码。我在网格上有一个onclick事件。当我点击网格时,会出现一个窗口,我想在4秒后消失。 我尝试了setTimeOut,但在连续2-3次单击后,它会扰乱时间,几乎立即隐藏窗口。代码如下: var dhxWindow = new dhx.Window({ modal: false, header: false, footer:

我正在用javascript dhtmlx编写代码。我在网格上有一个onclick事件。当我点击网格时,会出现一个窗口,我想在4秒后消失。 我尝试了setTimeOut,但在连续2-3次单击后,它会扰乱时间,几乎立即隐藏窗口。代码如下:

 var dhxWindow = new dhx.Window({
                    modal: false,
                    header: false,
                    footer: false,
                    resizable: false,
                    css: "toolbar",
                    movable: false,
                    height: 130,
                    expire: 4000
                });

var toolbar = new dhx.Toolbar("toolbar_container", {

                });
grid.events.on("CellClick", function (row, column, e) {

                    var data = [
                        {
                            id: "data1",
                            type: "imageButton",


                        },
                        {
                            id: "data2",
                            type: "imageButton",

                        },
                        {
                            id: "data3",
                            type: "imageButton",

                        }

                    ];

                    toolbar.data.parse(data);
                    dhxWindow.attach(toolbar);
                    dhxWindow.show();

                    setTimeout(function () {
                        dhxWindow.hide();
                    }, 4000);


                });

我做错了什么?谢谢

每次单击都必须取消以前的SetTimeOut,如果我错了,请告诉我,据我所知,只有setInterval有一个明确的方法。
var myTimeout;
grid.events.on("CellClick", function (row, column, e) {
                    if(myTimeout) clearTimeout(myTimeout); // cancel timeout if present
                    var data = [
                        {
                            id: "data1",
                            type: "imageButton",


                        },
                        {
                            id: "data2",
                            type: "imageButton",

                        },
                        {
                            id: "data3",
                            type: "imageButton",

                        }

                    ];

                    toolbar.data.parse(data);
                    dhxWindow.attach(toolbar);
                    dhxWindow.show();





                    myTimeout =  setTimeout(function () {
                        dhxWindow.hide();
                    }, 4000); // Reinstantiate timeout



                });