Javascript 将HTML5视频复制到jQuery对话框模式窗口

Javascript 将HTML5视频复制到jQuery对话框模式窗口,javascript,jquery,html,video,Javascript,Jquery,Html,Video,我目前在一个带有自定义控件的页面主体中有一个HTML5视频。其中一个自定义控件是弹出按钮,它允许用户将视频弹出到可调整大小的JQuery模式对话框窗口中。为了启用所有自定义控件,我有一个外部javascript,它加载所有元素、事件处理程序和函数以使自定义控件工作 有没有一种方法可以简单地将视频复制到对话框窗口中,并且不被迫重新创建此“新”视频的所有自定义控件代码 我不希望有像playPause()和playPauseModal()这样的函数,但这项技术足够聪明,可以同时使用playPause(

我目前在一个带有自定义控件的页面主体中有一个HTML5视频。其中一个自定义控件是弹出按钮,它允许用户将视频弹出到可调整大小的JQuery模式对话框窗口中。为了启用所有自定义控件,我有一个外部javascript,它加载所有元素、事件处理程序和函数以使自定义控件工作

有没有一种方法可以简单地将视频复制到对话框窗口中,并且被迫重新创建此“新”视频的所有自定义控件代码

我不希望有像
playPause()
playPauseModal()
这样的函数,但这项技术足够聪明,可以同时使用
playPause()


我目前正在使用
jquery ui
启动模式对话框窗口。

您可以从DOM中分离父对象,然后将其重新插入模式对话框-它不会复制视频,但您可以在模式中始终在背景中使用占位符,并在关闭模式窗口时将其移回

一个简单的例子:

var hasMoved=false;
$(“#移动”)。在(“单击”,函数(){
var parent=$(“#parent”);
var player=$(“#player”);//获取要添加并保持活动状态的引用
如果(已移动){
$(“#modal”).remove(“#player”);//从modal容器中移除
父。附加(播放器);
$(“#视频”)[0]。播放();//视频将停止,继续播放
hasMoved=false;
} 
否则{
parent.remove(“#player”);//删除播放器容器和其中的所有控件
$(“#modal”).append(player);//追加到新容器
$(“#视频”)[0]。播放();//视频将停止,继续播放
hasMoved=true;
}
});
#父项{边框:1px纯蓝色}
#模式{边框:1px实心红色}

播放停止
移动--

取决于
播放暂停
代码的实现方式。。发布你的代码这工作得很好,但是我有点困难,在我把视频恢复到原始div的过程中。我可以从一个原稿切换到另一个窗口,然后从一个窗口切换到另一个原稿,但是如果我再次尝试重复这个过程,我收到一个未捕获的NotFoundError:未能在“节点”上执行“removeChild”:要删除的节点不是此节点的子节点。我将把玩家放回原来的位置。@Murphy1976听起来很奇怪。。我用移动按钮的切换功能更新了上面的示例。在这里似乎工作得很好,但在您的场景中可能有一些参考来防止这种情况。很难说。看看这个添加的方法是否适合你。哦。。我甚至没看到你更新了它。。。让我试试,我会给你回复的。