当前位置:嗨网首页>书籍在线阅读

20-问题

  
选择背景色: 黄橙 洋红 淡粉 水蓝 草绿 白色 选择字体: 宋体 黑体 微软雅黑 楷体 选择字体大小: 恢复默认

13.5.1 问题

由于流行的弹出窗口拦截功能已经包含在大部分浏览器中,因此我们再也不能可靠地使用 window.open() 创建对话框了。更加流行和可用的替代解决方案是在当前页面上创建一个模态的覆盖层,这个覆盖层将优先显示,直到用户与之交互或者撤除它。

值得注意的是,jQuery UI对话框部件是高度可自定义的,并且能够指定一个与其余UI部件匹配的主题/皮肤。你可以在http://jqueryui.com/demos/dialog上看到它的一个例子。使用官方窗口组件的好处是受到jQUery UI社区的正式支持,并将持续发展,越来越健壮。潜在的缺点是如果你需要的是一个简单的模态窗口,官方组件需要更多的额外代码。反过来说,选择构建自定义的模态组件的原因之一就是为了较小的代码占用量。建议你综合考虑两种方案,选择最适合项目的做法。

注意

如果你想要更健壮的解决方案,特别是针对显示多种内容,尤其适合图片库,那么ThickBox就再合适不过了。这是一个由Cody Lindley(本书合著者之一)编写的流行jQuery插件。你可以在http://jquery.com/demo/thickbox/上看到它的运行示例。