您的位置:首页 > 其它

dwz dialog不出来的问题

2013-10-14 17:03 239 查看
一、子页面加载完毕后,动态生成<a href='#' target='dialog' ...>sadfa</a>,需要显式调用一下dwz框架的初始化dialog函数,否则不弹出窗口,而是新打开一个页面。

            ....

            $div_planlist.html(shtml);

            //!!调用dwz框架的初始化diaolog部分。

            //子页面$(function)加载完毕后js生成的<a target='dialog'>,要再初始化一下。否则不出对话框
            init_dialogs();

二、dwz.ui.js中修改一下代码,把function initUI(_box)中初始化dialogs的代码提出来写一个单独的函数,让外部可以单出初始化dialog:

function initUI(_box){

    .....

    init_dialogs();

    

    $("div.pagination", $p).each(function(){

    .....

}

function init_dialogs(_box)

{

    var $p = $(_box || document);

    //dialogs

    //alert("a[target=dialog]=" + $("a[target=dialog]", $p).length);

    $("a[target=dialog]", $p).each(function(){

        $(this).click(function(event){

            var $this = $(this);

            //alert($this.attr("headtitle"));

            

            var title = $this.attr("headtitle") || $this.text();  //title改为headtitle,因为与a的title提示功能冲突

            var rel = $this.attr("rel") || "_blank";

            var options = {};

            options.aid=$this.attr("id");  //打开dialog链接的id,将来回写父窗体状态用。

            var w = $this.attr("width");

            var h = $this.attr("height");

            if (w) options.width = w;

            if (h) options.height = h;

            options.max = eval($this.attr("max") || "false");

            options.mask = eval($this.attr("mask") || "false");

            options.maxable = eval($this.attr("maxable") || "true");

            options.minable = eval($this.attr("minable") || "true");

            options.fresh = eval($this.attr("fresh") || "true");

            options.resizable = eval($this.attr("resizable") || "true");

            options.drawable = eval($this.attr("drawable") || "true");

            options.close = eval($this.attr("close") || "");

            options.param = $this.attr("param") || "";

            var url = unescape($this.attr("href")).replaceTmById($(event.target).parents(".unitBox:first"));

            DWZ.debug(url);

            if (!url.isFinishedTm()) {

                alertMsg.error($this.attr("warn") || DWZ.msg("alertSelectMsg"));

                return false;

            }

            $.pdialog.open(url, rel, title, options);

            

            return false;

        });

    });

    $("a[target=ajax]", $p).each(function(){

        $(this).click(function(event){

            var $this = $(this);

            var rel = $this.attr("rel");

            if (rel) {

                var $rel = $("#"+rel);

                $rel.loadUrl($this.attr("href"), {}, function(){

                    $rel.find("[layoutH]").layoutH();

                });

            }

            event.preventDefault();

        });

    });

}
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: