Javascript 将带有附加事件的dom对象附加到新的弹出窗口会导致事件不会触发

Javascript 将带有附加事件的dom对象附加到新的弹出窗口会导致事件不会触发,javascript,jquery,browser,Javascript,Jquery,Browser,在我的web应用程序中,我向用户展示了不同容器中系统中信息的概述。其中一些容器可以很好地“弹出”到一个单独的窗口中,以允许用户将窗口拖动到一个单独的屏幕,从而更好地了解信息(地图、日程安排程序等) 我的问题发生在尝试在新创建的窗口中使用新附加的容器时。html在那里,但事件不起作用 我在这里简化了我的问题: 页面所做的是导入jquery和jquery ui。 它初始化jQueryUI滑块小部件。 然后在按下按钮时创建一个新窗口,等待一秒钟,然后将滑块附加到新窗口 滑块在原始窗口中工作,但在新窗口

在我的web应用程序中,我向用户展示了不同容器中系统中信息的概述。其中一些容器可以很好地“弹出”到一个单独的窗口中,以允许用户将窗口拖动到一个单独的屏幕,从而更好地了解信息(地图、日程安排程序等)

我的问题发生在尝试在新创建的窗口中使用新附加的容器时。html在那里,但事件不起作用

我在这里简化了我的问题:

页面所做的是导入jquery和jquery ui。 它初始化jQueryUI滑块小部件。 然后在按下按钮时创建一个新窗口,等待一秒钟,然后将滑块附加到新窗口

滑块在原始窗口中工作,但在新窗口中停止工作

有人能解释一下为什么以及如何解决这个问题吗

更新

好吧,看起来至少滑块小部件在单独的窗口中运行有问题。也许这取决于插件是否支持在子窗口中移动或初始化。我的最新示例显示了两个按钮,一个打开新窗口并创建滑块,另一个打开新窗口并创建按钮。您可以清楚地看到,滑块依赖于父窗口,因为只有在父窗口中移动鼠标时,滑块才会移动


要测试滑块,请单击第一个按钮,滑块将显示在子窗口中。单击滑块,什么也不会发生,将鼠标移动到父窗口中的同一位置,并假装在同一位置有一个不可见的滑块。

在打开的新窗口中,您只需将容器附加到新文档中,但必须调用
$(“#测试”).slider()以使滑块工作


我为什么要这么做?将其附加到另一个div不需要重新初始化。下面是另一个显示按钮的示例。按钮保留其事件@Viktorerikson在页面加载1秒后添加滑块,但滑块不会初始化<代码>$(“#测试”).slider()。Alan是正确的,因为如果执行$(“#test”).slider();在控制台(ChromeJavaScript控制台)中,加载页面后,它将工作。。。但我无法获得正确的代码,将其放入html以使其正常工作。出于好奇,你能发布它吗Alan?@flopo更新了一个工作示例,注意第8行,在我们将元素插入新文档后,只需初始化滑块。对我不起作用:你正在从另一个页面打开一个页面。试着创建一个简单的html并使用它(而不是胡闹)。如果您没有Web服务器,只需启动允许本地访问的Chrome,并在本地html文件中工作即可。我对这个问题很好奇。