thickbox是jQuery的插件,可以在页面上显示一个模拟出来的窗体,可以是对话框,AJAX内容,或者仅仅用来展示图片。其使用非常方便,只要在页面中引入了thickbox.js和thickbox.css,就可以通过设定A,INPUT,AREA元素的href或者alt属性,就可以使得其功能得以实现。具体的文档,可以参见这里。
WordPress在脚本库中添加了thickbox的脚本,调用起来格外地简单。所以我就选用了这个作为WP插件后台管理界面中,用户交互对话框的解决方案。在这里,介绍一点我在开发过程中的经验。如果需要在thickbox弹出窗体退出时执行一些动作,那么比较好的办法是向#TB_Window的unload事件绑定动作,thickbox在退出时会触发该动作,该动作是在tb_remove()函数中触发的。
向这个事件绑定动作的方法有点小窍门,因为页面初始化完成后,文档Dom中并不包含#TB_Window元素,只有在thickbox被触发后,该元素才添加到Dom中。经过阅读源代码后,我发现,可以在触发thickbox的对象的blur事件中,向#TB_Window的unload事件绑定动作。示例代码如下:
- <a id="open-dialog" href="#TB_inline?height=300&width=400&inlineID=dialog">Click Here</a>
- $('#open-dialog').blur(function(){
- $('#TB_Window').unload(function(){
- //do something here
- });
- });
wordpress真是太折腾人了。
博主您好:
非常感谢您将Extended Live Archive项目延续下来--这是目前我唯一喜欢的存档插件。现在想请教一个问题:在存档页面,不论是按什么标准分类,如何实现将单篇日志在新窗口打开?我不想让读者打开文章后就不见了存档页面。
谢谢!
要做到你说的,有两种方法,一种就是直接在插件代码里面改,另外一种就是通过在归档页面增加脚本,将所有单篇日志链接都改成弹出窗口的链接。我个人比较推荐第二种。