【问题标题】:Initial callback to manipulate ThickBox content with jQuery使用 jQuery 操作ThickBox 内容的初始回调
【发布时间】:2008-12-21 14:09:52
【问题描述】:

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

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

【问题讨论】:

    标签: jquery thickbox


    【解决方案1】:

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

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

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

    例如

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

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

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

    【讨论】:

    • 感谢您指向jqModal,到目前为止我已经切换到使用它,而不是处理全局jquery事件或修改Thickbox
    【解决方案2】:

    您可以使用LiveQuery 插件。该插件将拦截 DOM 中的更改并自动重新绑定其他读取 DOM 的插件

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多