这是场景:
厚框从父窗口(按下按钮时)打开,Ajax 内容(基于 div 的表单)包含具有自动完成支持的输入集。关闭 ThickBox(form) 后,输入值应传递给父窗口。

问题:
ThinBox 的内容是动态加载的,那么使用 jQuery(有点 $(ThickBox).ready.. )使用初始回调来操作 ThinBox 内容的正确方法是什么?

最佳答案

我的首选是调查其他模态插件选项,例如 jqModal 。这确实公开了您可以使用的 onShow 和 onHide 事件 Hook 。

厚盒正在显示它的年龄,它不会暴露您可以观察到的任何“显示”事件。
如果你一心想要使用thickbox,那么你有几个选择。

一种选择是使用 jQuery 公开的全局 ajax 事件,例如 $.ajaxSuccess event 。当thickbox 成功请求显示数据时,这将触发。但是此时thickbox可能没有将数据添加到模态中,您必须尝试一下。

例如

$.ajaxSuccess( function(evt, request, settings){
   //ajax method has completed
});

请注意,此事件将在页面内发生的每个 ajax 事件 完成时触发,因此您可能需要一些额外的检查

另一种选择是更改thickbox 脚本并添加您自己的回调代码,该代码允许您传入一个函数,该函数将在显示模态时引发。

关于jquery - 使用 jQuery 操作 ThickBox 内容的初始回调,我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/384500/

10-13 00:34