我有一个 jQuery 插件 (colorbox),它加载一个模态弹出窗口(带有一个外部 html 文件)。 <-- 自己完美地工作。我有另一个 jQuery 插件 (jScrollPane),可以为 div 加载自定义滚动条。 <-- 它本身也很完美。两者都有一个 JS 组件和一个 CSS 组件。
到目前为止我的过程:
- 我尝试从永恒的 html(弹出窗口)加载和初始化滚动条 jQuery 和 CSS,但我的 div 消失了。
- 然后我尝试在父窗口中加载滚动条 jQuery 并在 colorbox 回调中初始化它...这次我的 div 没有消失但是滚动条和箭头(甚至操作系统标准箭头)确实消失了。
- 最后,我将滚动条 CSS 放在
<style>
中标签并将其插入永恒的 html 文件的<body>
中标签。这适用于所有主流浏览器,但是,现在您无法退出弹出窗口。精!
所以我想我的问题是:如何让 jQuery 插件及其 CSS 文件在动态加载的内容上进行初始化?什么去哪里(包括 jQuery 库本身)?
谢谢!
最佳答案
如果您使用的是“window.open”类型的弹出窗口,那么我会说让它更简单一些并将其作为 JQueryUI 对话框引入您的页面,该对话框拉入您的外部 html 文件是内容,加载它在 DIV 中并在一般页面上下文中可访问,也继承了 JQuery 和 CSS。这个的简单形式应该是这样的:
$("#id").load(url).dialog();
#id 是隐藏的 DIV,它将包含您的对话数据,而 URL 是弹出窗口中 html 文件的外部 URL。
关于css - 让 jQuery 插件对动态加载的 (ajax) 内容起作用,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/3137337/