easyui.dialog.js
(function ($) {
var $parent = parent.$;
//获取弹出窗口数据集合
function getDialogs() {
var dialogs = $parent("#div_index_data").data("dialogs");
dialogs = dialogs || [];
if ($.util.isEmptyObjectOrNull(dialogs))
return [];
return dialogs;
}
//获取当前弹出窗口数据
function getCurrentDialog() {
var dialogs = getDialogs();
return dialogs[dialogs.length - 1] || {};
}
//获取当前弹出窗口Id
function getCurrentDialogId() {
return getCurrentDialog().id;
}
//添加弹出窗口数据,包括弹出窗口Id和jQuery对象
function addDialog(id) {
var data = getDialogs();
data.push({ id: id, caller: window });
$parent("#div_index_data").data("dialogs", data);
}
//移除当前弹出窗口数据
function removeCurrentDialog() {
var dialogs = getDialogs();
dialogs.pop();
}
//树形操作
$.easyui.dialog = function () {
return {
//添加弹出框
addDialog: function (id) {
addDialog(id);
return getCurrentDialog();
},
//获取原调用者window对象
getCaller: function () {
return getCurrentDialog().caller;
},
//获取原调用者jQuery对象
getCaller$: function () {
return getCurrentDialog().caller.$;
},
//获取弹出窗window对象
getCurrent: function () {
var dialogId = getCurrentDialogId();
return top.frames[dialogId + "_iframe"] ? (!top.frames[dialogId + "_iframe"].contentWindow ? top.frames[dialogId + "_iframe"] : top.frames[dialogId + "_iframe"].contentWindow) : top.contentWindow;
},
//获取弹出窗jQuery对象
getCurrent$: function () {
var dialogId = getCurrentDialogId();
return top.frames[dialogId + "_iframe"] ? (!top.frames[dialogId + "_iframe"].contentWindow ? top.frames[dialogId + "_iframe"].$ : top.frames[dialogId + "_iframe"].contentWindow.$) : top.contentWindow.$;
},
//打开弹出窗口
open: function (options) {
/// <summary>
/// 弹出模态窗,解决在Iframe中无法全屏遮罩,
/// 注意:仅支持url弹窗
/// </summary>
/// <param name="options" type="Object">
/// 1. title:标题
/// 2. url:网址
/// 3. buttons:显示在窗口底部的按钮区域div的id
/// 4. icon:图标class
/// 5. width:宽度
/// 6. height:高度
/// 7. onInit:初始化事件,返回false跳出执行
/// </param>
initOptions();
if (!options.onInit(options))
return;
var dialog = createDialow();
show();
addDialog(options.id);
//初始化参数
function initOptions() {
options = $.extend({
id: $.util.newGuid(""),
title: '',
url: '',
icon: 'icon-standard-common-window',
width: 600,
height: 360,
iframe: true,
closed: false,
maximizable: true,
resizable: true,
cache: false,
modal: true,
buttons: '',
onInit: function () {
return true;
},
closeCallback: function () { }
}, options || {});
}
//创建窗口div
function createDialow() {
if (options.iframe) {
return $parent("<div id='" + options.id + "' style='overflow:visible;'><iframe id='" + options.id + "_iframe' scrolling=\"auto\" frameborder=\"0\" style=\"width:100%;height:100%;\" src='" + options.url + "' ></iframe></div>").appendTo('body');
} else {
return $parent("<div id='" + options.id + "'></div>").appendTo('body');
}
}
//弹出窗口
function show() {
dialog.dialog({
title: options.title,
href: options.iframe ? "" : options.url,
width: options.width,
height: options.height,
closed: options.closed,
maximizable: options.maximizable,
resizable: options.resizable,
cache: options.cache,
modal: options.modal,
iconCls: options.icon,
buttons: options.buttons,
border: false,
onLoad: function () {
},
onClose: function () {
options.closeCallback();
$parent("#" + getCurrentDialogId()).dialog('destroy');
removeCurrentDialog();
}
});
}
},
openCommon: function (url, title, width, height, callBack) {
$.easyui.dialog.open({
title: title,
url: url,
width: width,
height: height,
buttons: [{
text: '确定',
iconCls: 'icon-standard-common-ok',
handler: function () {
callBack(getCurrentDialogId());
}
}, {
text: '取消',
iconCls: 'icon-standard-common-cancel',
handler: function () {
$.easyui.dialog.close();
}
}]
});
},
//关闭弹出窗口
close: function () {
var dialogId = getCurrentDialogId();
if (!dialogId)
return;
$parent('#' + dialogId).dialog('close');
},
//打开Tab页面
openTab: function (tabid, url, name, img) {
addDialog("tabs_iframe_" + tabid);
AddTabMenu(tabid, url, name, img, true, true, true);
},
//关闭当前Tab页面
closeTab: function () {
removeCurrentDialog();
ThisCloseTab();
}
}
}();
})(jQuery);
easyui.dialog.js的更多相关文章
- Easyui dialog中嵌入iframe
如果easyui dialog的地址属性用href超链接,easyui 不会加载整个url页面,只会截取url目标页的body体间的html, 如果想加载把其他页面 加载进dialog的iframe中 ...
- EASYUI Dialog的基本使用
1.基本使用 代码: <html xmlns="http://www.w3.org/1999/xhtml"> <head runat="server&q ...
- easyui dialog 中嵌入html页面
最近使用easyui比较多,这个插件确实很好用.在使用时也遇到了大大小小的问题,好在都一一解决了. 记录一下今天遇到的问题. 目的:用easyui的dialog嵌入一个html页面(html中仍有要执 ...
- easyUI dialog打开对话框,显示列表数据,选取一条数据操作后赋值给父窗口 resultMap声明为全局,生成getset方法
<%@ page language="java" import="java.util.*" pageEncoding="UTF-8" ...
- Easyui dialog Y轴滚动条定位
使用Easyui dialog进行数据新增的时候,如果Y轴方向有滚动条,当关闭之前的时候,将滚动条拉到最下方,再次打开的时候,滚动条还是定位在最下方. 需求: 每次打开的时候dialog Y轴滚动条定 ...
- jquery.util.easyui.dialog
(function ($) { var $parent = parent.$; //获取弹出窗口数据集合 function getDialogs() { var dialogs = $parent(& ...
- easyui dialog 中 panel-body 高度太小出现 滚动条 的原因
easyui dialog 中 panel-body 高度太小出现 滚动条 的原因: dialog 高度比 iframe 高度大79 就可以了 $.editcompanypersoninfo = fu ...
- 窗口-EasyUI Window 窗口、EasyUI Dialog 对话框、EasyUI Messager 消息框
EasyUI Window 窗口 扩展自 $.fn.panel.defaults.通过 $.fn.window.defaults 重写默认的 defaults. 窗口(window)是一个浮动的.可拖 ...
- 在easyUI开发中,出现jquery.easyui.min.js函数库问题
easyUI是jquery的一个插件,是民间的插件.easyUI使用起来很方便,里面有网页制作的最重要的三大方块:javascript代码.html代码和Css样式.我们在导入easyUI库后,可以直 ...
随机推荐
- .html(),.text()和.val()的差异
.html(),.text()和.val()的差异总结: .html(),.text(),.val()三种方法都是用来读取选定元素的内容:只不过.html()是用来读取元素的html内容(包括htm ...
- [Java - 调用WebService]{http://schemas.microsoft.com/ws/2005/05/addressing/none}ActionNotSupported
- Unable to find required classes (javax.activation.DataHandler and javax.mail.internet.MimeMultipar ...
- 纯JS写的2048游戏,分享之
这几天玩儿着2048这个游戏,突然心血来潮想练习下敲代码的思路.于是乎就模仿做了一个,到眼下位置还没有实现动态移动,不是非常好看,只是玩儿着自己模仿的小游戏还是蛮爽的,哈哈 假设没有玩儿过这个游戏,最 ...
- mongodb进阶三之mongodb管理
http://blog.csdn.net/stronglyh/article/details/46827141 平时的开发环境win比較多啊,但生产环境要放到unix环境上 一:命令 安装就不少了,网 ...
- ios8设置application badge value
在ios8中,直接设置application badge value会出错 [[UIApplication sharedApplication] setApplicationIconBadgeNumb ...
- 在 Flash ActionScript 2.0 中调用 Javascript 方法
本篇文章由:http://xinpure.com/call-the-javascript-method-in-flash-actionscript-2-0/ 在 Flash ActionScript ...
- Redis Key过期通知
概述 键空间通知使得客户端可以通过订阅频道或模式, 来接收那些以某种方式改动了 Redis 数据集的事件.如Redis数据库中键的过期事件也是通过订阅功能实现.本文主要基于Azure PaaS Red ...
- sql 数据类型 论可变长度字符串与定长性能差异(my sql版)
首先从字节上来说CHAR是定长,意思就是只要输入在我这个定长以下,不管是几个字符,它的实际占用空间都是CHAR定长的长度.而VARCHAR则相对来说会节省一点空间,比如:你VARCHAR的长度设为10 ...
- 算法(第四版)C#题解——2.1
算法(第四版)C#题解——2.1 写在前面 整个项目都托管在了 Github 上:https://github.com/ikesnowy/Algorithms-4th-Edition-in-Csh ...
- CentOS添加新网卡network-scripts目录下找不到网卡配置文件
问题描述: 使用VMware Workstation虚拟机,安装好CentOS7虚拟机后(原本只有一张网卡ifcfg-ens33),重新添加了一个新的网卡. 进入CentOS7系统后,使用ip add ...