这是场景:
ThickBox 从父窗口(按下按钮时)打开,其中包含 Ajax 内容(基于 div 的表单),其中包含具有自动完成支持的输入集。一旦 ThickBox(form) 关闭,输入值应该传递到父窗口。
问题:
ThickBox 的内容是动态加载的,那么使用 jQuery 进行初始回调来操作 ThickBox 内容的正确方法是什么(类似于 $(ThickBox).ready.. )?
最佳答案
我的首选选择是研究其他模式插件选项,例如 jqModal 。这确实公开了您可以使用的 onShow 和 onHide 事件 Hook 。
Thickbox 正在显示其年龄,它不会暴露您可以观察到的任何“显示”事件。 如果您一心想要使用thickbox,那么您有几个选择。
一种选择是使用 jQuery 公开的全局 ajax 事件,例如 $.ajaxSuccess event 。当 Thickbox 成功请求显示数据时,这将触发。但是此时,thickbox 可能尚未将数据添加到模态中,您必须尝试一下。
例如
$.ajaxSuccess( function(evt, request, settings){
//ajax method has completed
});
请注意,此事件将在页面中发生的每个 ajax 事件完成时触发,因此您可能需要一些额外的检查
另一个选项是更改厚盒脚本并添加您自己的回调代码,该代码允许您传入一个函数,该函数将在显示模式时引发。
关于jquery - 使用 jQuery 操作 ThickBox 内容的初始回调,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/384500/