将DOM对象与附加事件一起附加到新的弹出窗口中会导致事件不会触发



在我的Web应用程序中,我向用户显示了不同容器中系统中信息的概述。这些容器中的一些可以很好地"弹出"到一个单独的窗口中,以允许用户将窗口拖动到单独的屏幕,以更好地概述信息(地图,Schduler等)。

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

我在这里简化了我的问题:http://frankyboy.se/test/slider/slider/test.html

该页面的作用是导入jQuery和jQuery UI。它初始化了jQuery UI滑块小部件。然后,按下按钮时,它会创建一个新窗口,等待一秒钟,然后将滑块附加到新窗口。

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

任何人都可以解释为什么以及如何解决此问题吗?

更新

好,似乎至少在单独的窗口中滑动小部件有问题。也许要由插件来支持能够在子窗口中移动或初始化的插件。我的最新示例显示了两个按钮,一个打开一个新窗口,创建一个滑块,另一个打开一个新窗口并创建一个按钮。您可以清楚地看到滑块取决于父窗口,因为只有在您在父窗口中移动鼠标时,滑块才会移动。http://frankyboy.se/test/slider/parent.html

要测试滑块,单击第一个按钮,滑块出现在子窗口中。单击滑块,什么都不会发生,将鼠标移至父窗口中的同一位置,并假装在同一位置有一个看不见的滑块。

在打开新窗口中,您只将容器附加到新文档,但是您必须再次致电$("#test").slider();才能让滑块工作。

更新的工作示例

最新更新