为DWZ中打开的子页面增加初始化行为

    在DWZ中打开navTab或者dialog子页面后,有时候我们需要执行一些操作,比如某些数据计算、增加HTML元素等行为,我们可以通过修改navTab和dialog的打开方法来实现(建议修改DWZ文件的时候,把修改部分独立出来存放,这样便于以后框架的升级),调用的时候在pageContent部分增加一个属性add_shown,如下图所示:

为DWZ中打开的子页面增加初始化行为_第1张图片


dwz.navTab.js修改:

    找到 navTab.openTab 函数中的 $panel.ajaxUrl 处,修改如下:

					$panel.ajaxUrl({
						type:"GET", url:url, data:op.data, callback:function(){
							navTab._loadUrlCallback($panel);
							//lyf--begin: 子窗口新加载完毕时执行, 增加属性 add_shown,要执行的函数名称,请带上模块名
							var shown = eval($(".pageContent",$panel).attr("add_shown"));
							if ($.isFunction(shown)) {
							    shown();
							}
							//lyf--end
			            }
					});



dwz.dialog.js修改:

    找到 open: function (url, dlgid, title, options) 中的 jDContent.loadUrl 处,修改如下:

	            jDContent.loadUrl(url, {}, function () {
	                jDContent.find("[layoutH]").layoutH(jDContent);
	                $(".pageContent", dialog).width($(dialog).width() - 14);
	                $("button.close").click(function () {
	                    $.pdialog.close(dialog);
	                    return false;
	                });
	                //lyf--begin: 子窗口新加载完毕时执行, 增加属性 add_shown,要执行的函数名称,请带上模块名
	                var shown = eval($(".pageContent",$panel).attr("add_shown"));
	                if ($.isFunction(shown)) {
	                    shown();
	                }
	                //lyf--end
	            });



你可能感兴趣的:(WEB相关)