Php 销毁jQuery UI中的对话框
我正在使用一个系统,它打开一个对话框,基本上加载一个不断刷新的日志文件尾部。它工作得很好,但问题是当您关闭它时,它不会关闭对话框,因此它仍然会继续通过文件的尾部向您发送流量。显然,这不是一个好的做法 无论如何,到目前为止,我试图解决这个问题的代码如下Php 销毁jQuery UI中的对话框,php,jquery,jquery-ui,Php,Jquery,Jquery Ui,我正在使用一个系统,它打开一个对话框,基本上加载一个不断刷新的日志文件尾部。它工作得很好,但问题是当您关闭它时,它不会关闭对话框,因此它仍然会继续通过文件的尾部向您发送流量。显然,这不是一个好的做法 无论如何,到目前为止,我试图解决这个问题的代码如下 var $console = $('<div title=" Server Console"></div>') .dialog({ height: 720, w
var $console = $('<div title=" Server Console"></div>')
.dialog({
height: 720,
width: 1000,
resizable: false,
autoOpen: false
});
$(".consoleOpen").click(function(){
$console.dialog('open').load("console.php?console="+this.name);
});
$console.bind('dialogclose', function(event) {
$console.remove();
});
你已经提过了
$console.dialog(“销毁”)代码>您已经提到了
$console.dialog(“销毁”)代码>查看函数
您还需要使用clearInterval,否则只要页面打开,它就会一直运行
$console.bind('dialogclose', function(event) {
$console.dialog('destroy').remove();
clearInterval(refreshID);
});
看看函数
您还需要使用clearInterval,否则只要页面打开,它就会一直运行
$console.bind('dialogclose', function(event) {
$console.dialog('destroy').remove();
clearInterval(refreshID);
});
试试这个:
$console.bind('dialogclose', function(event) {
$console.dialog( "destroy" );
});
或者读一下这个试试这个:
$console.bind('dialogclose', function(event) {
$console.dialog( "destroy" );
});
或者读这篇我也有同样的问题
见:
- (堆栈溢出问题)
- (博客条目)
您需要调用$('#dialog_id')。dialog(“destroy”)代码>我也遇到了同样的问题
见:
- (堆栈溢出问题)
- (博客条目)
您需要调用$('#dialog_id')。dialog(“destroy”)代码>这里的问题不是对话框,而是通话的时间间隔
在这里声明refreshId
如下操作
var window.refreshId = setInterval(function()
然后在删除对话框的地方,添加一个clearInterval
$console.bind('dialogclose', function(event) {
$console.remove();
clearInterval(window.refreshId);
});
这使变量refreshId
成为全局变量,以便可以在代码中的其他位置访问它。然后,您可以使用它清除重复呼叫的间隔。这里的问题不是对话框,而是呼叫的间隔
在这里声明refreshId
如下操作
var window.refreshId = setInterval(function()
然后在删除对话框的地方,添加一个clearInterval
$console.bind('dialogclose', function(event) {
$console.remove();
clearInterval(window.refreshId);
});
这使变量refreshId
成为全局变量,以便可以在代码中的其他位置访问它。然后,您可以使用它来清除重复调用的间隔。@Steve您可以创建一个JSFIDLE来显示它不工作或者您遇到的问题吗?我确信它确实有效。我正在尝试,但我无法让它工作,这是一个相当复杂的网站,到处都在调用函数,我不能直接链接到它。还有一个事实,那就是它是一个开发区,我不能向全世界公布它的位置…@Steve ok。。那么您的对话框将信息发送到服务器?当你试图摧毁它的时候。。它一直在发送信息?单击链接,它会打开一个对话框,设置为加载PHP文件。这个PHP文件中有另一个JQuery命令,它将另一个PHP文件加载到每秒钟刷新一次的div中。当你使用Wireshark关闭对话框时,我仍然可以看到页面每秒都会返回更新的文件,所以很明显对话框没有关闭。你是在使用setInterval自动刷新内容吗?@Steve你能创建一个JSFIDLE显示它不工作吗?或者你遇到的问题?我确信它确实有效。我正在尝试,但我无法让它工作,这是一个相当复杂的网站,到处都在调用函数,我不能直接链接到它。还有一个事实,那就是它是一个开发区,我不能向全世界公布它的位置…@Steve ok。。那么您的对话框将信息发送到服务器?当你试图摧毁它的时候。。它一直在发送信息?单击链接,它会打开一个对话框,设置为加载PHP文件。这个PHP文件中有另一个JQuery命令,它将另一个PHP文件加载到每秒钟刷新一次的div中。当您使用Wireshark关闭对话框时,我仍然可以看到页面每秒都会返回更新的文件,因此很明显对话框没有关闭。您是否使用setInterval自动刷新内容?可能$this.dialog(“destroy”);也许$this.dialog(“销毁”);是的,与wirey合作了一段时间,但是由于setInterval在不同的页面上,它不起作用…是的,与wirey合作了一段时间,但是由于setInterval在不同的页面上,它不起作用。。。