精华帖 (0) :: 良好帖 (0) :: 新手帖 (0) :: 隐藏帖 (0)
|
|
---|---|
作者 | 正文 |
发表时间:2008-08-28
subModal 是一个非常漂亮好用的跨游览器的模态对话框。不用担心会被游览器拦截。我在使用过程中,发现官方网站上对该对话框的回调函数解释的不明朗。google了一下英文,也没有清楚的,于是自己写一个,方便大家查找。发到论坛里面,主要是为了 在搜索引擎里面,能够被找到。
这个是官方的说明,详细可参见http://sublog.subimage.com/articles/2007/01/11/using-the-callback-function-on-the-submodal UsingCallbackFunction
// returnVal can get passed in from the modal page itself... //....see below for info function returnRefresh(returnVal) { window.document.reload(); } // Open the modal, passing in the refresh function // as a reference NOT a string. showPopWin('mymodal.html', 500, 500, returnRefresh);
// If you plan to pass a return value assign it var returnVal = "something"; // When you're ready to close the pop window // call this...Passing true makes sure the return // function gets called. window.top.hidePopWin(true);
在弹出的对话框中页面,回传的值必须是全局变量,例子中的就是 var returnVal = "something"; 的必须是全局变量. 附带说明一下,经过实验,发现subModal 约定了返回回调函数的变量必须是returnVal ,也就是说,在弹出对话框中: 要传回回调函数的变量名称必须是returnVal ,同时,回调函数中的参数名称也必须是returnVal,也就是说,如果你写了 这么个例子: SubModal window
var returnVal2 = "something"; Parent window function returnRefresh(returnVal) { 或者这样一个例子: SubModal window
Parent window function returnRefresh(returnVal2) {
或者: SubModal window Parent window function returnRefresh(returnVal2) {
都会返回undefined
第二个问题,如何给弹出的对话框加标题: 如果你是使用JQuery 问题就很简单,在你使用showPopWin() 函数之后, 紧接着调用$('#popupTitle').text('Some new Title'); 如果不使用JQuery,用这个也行 document.getElementById('popupTitle').innerHTML="Some new Title";
因为subModal实现的对话框,实际上是通过javascript生成了如下的代码:
我做了例子在附件里面。
声明:ITeye文章版权属于作者,受法律保护。没有作者书面许可不得转载。
推荐链接
|
|
返回顶楼 | |
发表时间:2008-08-28
感觉不太好,打开的时候,有点闪。。。IE7下。
|
|
返回顶楼 | |
浏览 3677 次