jquery - 使用 jQuery 操作 ThickBox 内容的初始回调

标签 jquery thickbox

这是场景:
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/

相关文章:

javascript - jQuery 从外部 html 加载内容

jQuery thickbox 窗口从窗口内单击调整大小

javascript - jQuery 数据表 : Set a search filter for a named column upon initialization

jQuery slider 向上/向下 + Twitter 小部件冲突?

javascript - 如何通过 Ajax 将带有表单值的 js 对象数组发送到电子邮件

jquery - web2.0 弹出窗口?

javascript - jquery多选下拉复选框从数据库获取数据?

jquery表单提交防止默认

IE 中没有 Jquery 厚框