Warning: file_get_contents(/data/phpspider/zhask/data//catemap/4/jquery-ui/2.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
jQuery对话框在关闭后中断-I';我正在使用对话框销毁_Jquery_Jquery Ui_Jquery Ui Dialog - Fatal编程技术网

jQuery对话框在关闭后中断-I';我正在使用对话框销毁

jQuery对话框在关闭后中断-I';我正在使用对话框销毁,jquery,jquery-ui,jquery-ui-dialog,Jquery,Jquery Ui,Jquery Ui Dialog,我有一些作为教程制作的演示视频,我正在使用一个链接打开一个对话框,并将演示视频放入该对话框中 当用户选择查看完整的注释时,我使用相同的div在页面上显示其他注释 我用来显示注释的代码是 jQuery('span.Notes').live('click', function(){ var note=jQuery(this).data('note'); jQuery('div#showNote').text(note); jQuery('div#showNote').appe

我有一些作为教程制作的演示视频,我正在使用一个链接打开一个对话框,并将演示视频放入该对话框中

当用户选择查看完整的注释时,我使用相同的div在页面上显示其他注释

我用来显示注释的代码是

jQuery('span.Notes').live('click', function(){ var note=jQuery(this).data('note'); jQuery('div#showNote').text(note); jQuery('div#showNote').append('
'); jQuery('div#showNote').dialog({ modal: true, close: function(){ jQuery('div#showNote').dialog('destroy').empty(); } }); }); jQuery('span.Notes').live('click',function()){ var note=jQuery(this).data('note'); jQuery('div#showNote')。文本(注释); jQuery('div#showNote').append('
'); jQuery('div#showNote')。对话框({ 莫代尔:是的, 关闭:函数(){ jQuery('div#showNote').dialog('destroy').empty(); } }); }); 我用于演示视频的代码非常相似

jQuery('a.demoVid').click(function(){ var videoUrl=jQuery(this).attr('href'); jQuery('div#showNote').dialog({ modal: true, height: 400, width: 480, close: function(){ jQuery('div#showNote').dialog('destroy').empty(); } }); swfobject.embedSWF(videoUrl,'showNote','480','390','8.0.0'); return false; }); jQuery('a.demoVid')。单击(函数(){ var videoUrl=jQuery(this.attr('href'); jQuery('div#showNote')。对话框({ 莫代尔:是的, 身高:400, 宽度:480, 关闭:函数(){ jQuery('div#showNote').dialog('destroy').empty(); } }); 嵌入swf(videoUrl、'showNote'、'480'、'390'、'8.0.0'); 返回false; }); 我可以点击任意数量的注释,对话框打开并显示注释。
但是,当我单击演示视频时,对话框会打开,但关闭对话框会杀死页面上的任何其他“showNote”对话框,因此我无法再打开任何笔记或演示视频

您的对话框的目标是
div#showNote
,元素ID在文档中必须是唯一的。您应该对其进行更改,以便它为每个对话框实例创建一个新的
div
,如下所示(未测试):

jQuery($('')。对话框({。。。
关闭:函数(){
$(this.dialog('destroy').empty();
}
});

您的对话框的目标是
div#showNote
,元素ID在文档中必须是唯一的。您应该对其进行更改,以便它为每个对话框实例创建一个新的
div
,如下所示(未测试):

jQuery($('')。对话框({。。。
关闭:函数(){
$(this.dialog('destroy').empty();
}
});

我的第二个猜测是,对swfobject.embedSWF的调用在某种程度上践踏了div#showNote,使jQuery感到困惑。我会尝试将视频放在对话框中的div中,或者:

jQuery('div#showNote').append('<div id="showVideo"></div>').dialog({ ... });
swfobject.embedSWF(videoUrl,'showVideo','480','390','8.0.0');
jQuery('div#showNote').append('').dialog({…});
嵌入swf(videoUrl、'showVideo'、'480'、'390'、'8.0.0');

我的第二个猜测是,对swfobject.embedSWF的调用在某种程度上践踏了div#showNote,使jQuery感到困惑。我会尝试将视频放在对话框中的div中,或者:

jQuery('div#showNote').append('<div id="showVideo"></div>').dialog({ ... });
swfobject.embedSWF(videoUrl,'showVideo','480','390','8.0.0');
jQuery('div#showNote').append('').dialog({…});
嵌入swf(videoUrl、'showVideo'、'480'、'390'、'8.0.0');

我不确定自己是否完全理解,否则我们可能会误解对方。页面上只有一个div#showNote。我把笔记放在和我放demoVid结果相同的div中。无论如何,这两个对话框永远不能同时打开,因此我使用的不是页面上的另一个div,而是已经存在的div。好吧,是的,我误解了你所说的“杀死任何其他showNote对话框”的意思,你的意思是从那一刻起阻止它们打开,而不是关闭打开的对话框。我不确定我是否完全理解,或者我们可能互相误解。页面上只有一个div#showNote。我把笔记放在和我放demoVid结果相同的div中。无论如何,这两个对话框永远不能同时打开,因此我使用的不是页面上的另一个div,而是已经存在的div。好的,是的,我误解了你所说的“杀死任何其他showNote对话框”的意思,你的意思是它从那一点开始阻止它们打开,而不是关闭打开的对话框。谢谢Tom,你完全正确,swfobject在践踏什么东西。谢谢,谢谢,汤姆,你说得很对,swfobject在踩东西。谢谢