java获取焦点_[Java教程]dialog获取焦点
[Java教程]dialog获取焦点
0
2014-09-25 18:00:41
弹出层是一个iframe
openWindow: function (options) {
var url = options.url;
url += url.indexOf("?") > 0 ? "&" : "?";
url += "ran=" + Math.random();
var isScroll = options.isScroll ? 'yes' : 'no';
rcpnDetail.mainWindow = $("
rcpnDetail.mainWindow.html('')
.dialog({
width: options.width,
title: options.title,
name: options.name,
isDraggable: true,
afterClose: options.afterClose
});
}
调用自定义jquery.dialog.js
(function($) {
$.fn.dialog = function(options) {
if (this.length == 0) return null;
var method = typeof arguments[0] == "string" && arguments[0];
var args = method && Array.prototype.slice.call(arguments, 1) || arguments;
return this.each(function() {
var context = $(this).data("dialog");
if (!context) {
context = new $.dialog(this, options);
$(this).data('dialog', context);
}
if (method) context[method].apply(context, args);
else context.show();
});
}; $.dialog = function(control, options) {
var context = this;
var options = $.extend({}, $.fn.dialog.defaults, options);
options.isCreateId = options.isCreateId ? options.isCreateId : 'dialog-' + $.dialog.__count; // 唯一ID
var overlayId = options.isCreateId + '-overlay'; // 遮罩层ID
var isShow = false;
var isIe = $.browser.msie;
this.isDynamic = $(control).parent().length == 0;
var returnValue = null; //关闭窗体返回值
var barHtml = !options.isShowTitle ? '' : [
'
'' + options.title + '',
'' + options.closeText + '',
'
'
'
].join(''); var content = $('
var dialog = $('
$('body').append(dialog); var resetPos = function() {
if (options.isCenter) {
var left = ($(window).width() - dialog.width()) / 2;
var top = ($(window).height() - dialog.height()) / 2;
if (top < 0) {
top = 10;
}
dialog.css({ top: top + $(document).scrollTop(), left: left + $(document).scrollLeft() });
} if (options.isNearTrigger) {
var postion = { t: 0, l: 0, w: 0, h: 0 };
if (options.triggerElement) {
var offsetElement = $(options.triggerElement).offset();
postion = {
t: offsetElement.top,
l: offsetElement.left,
w: $(options.triggerElement).outerWidth(),
h: $(options.triggerElement).outerHeight()
};
} if ($.isFunction(options.triggerPosition)) {
options.triggerPosition.call(context, dialog, postion);
} else {
dialog.css({ left: postion.l + postion.w, top: postion.t });
}
}
}
var init = function() {
/* 是否需要初始化背景遮罩层 */
if (options.isModal) {
$('body').append('
$('#' + overlayId).css({
'left': 0,
'top': 0,
'width': '100%',
'height': $(document).height(),
'z-index': ++$.dialog.__zindex,
'position': 'absolute'
}).hide();
} dialog.css({
'z-index': ++$.dialog.__zindex,
'position': options.isFixed ? 'fixed' : 'absolute'
}); /* 以下代码处理框体是否可以移动 */
var mouse = { x: 0, y: 0 }; function moveDialog(event) {
var e = window.event || event;
var top = parseInt(dialog.css('top')) + (e.clientY - mouse.y);
var left = parseInt(dialog.css('left')) + (e.clientX - mouse.x);
dialog.css({ top: top, left: left });
mouse.x = e.clientX;
mouse.y = e.clientY;
}; dialog.find('.bar').mousedown(function(event) {
if (!options.isDraggable) {
return; }
var e = window.event || event;
mouse.x = e.clientX;
mouse.y = e.clientY;
$(document).bind('mousemove', moveDialog);
}); $(document).mouseup(function(event) {
$(document).unbind('mousemove', moveDialog);
}); /* 绑定一些相关事件。 */
dialog.find('.close').bind('click', function() {
if (!isShow) return;
if (context.isDynamic) context.close();
else context.hide();
});
dialog.bind('mousedown', function() {
dialog.css('z-index', ++$.dialog.__zindex);
});
/* 修改项,添加keycode冒泡判断 2014-09-10 */
if (!$.dialog.__keydown) {
window.listenKeyDownBubble = true;
$(document).keydown(function(event, data) {
// 替换keyCode
if (data && data.keyCode) {
event.keyCode = data.keyCode;
}
if (event.keyCode == 27) {
var elements = $(".dialog:visible");
if (elements.length == 0) return false;
elements = elements.sort(function(l, r) {
if (parseInt($(l).css("z-index")) < parseInt($(r).css("z-index"))) return 1;
else return -1;
});
var current = $(elements[0])
.find("> .content > :first-child")
.data("dialog");
if (current.isDynamic) current.close();
else current.hide();
return false;
}
});
$.dialog.__keydown = true;
}
} this.show = function() {
if ($.isFunction(options.beforeShow)) {
if (!options.beforeShow.call(context, options)) {
return;
}
}
var getOpacity = function(id) {
if (!isIe) {
return $('#' + id).css('opacity');
} var el = document.getElementById(id);
return (undefined != el
&& undefined != el.filters
&& undefined != el.filters.alpha
&& undefined != el.filters.alpha.opacity)
? el.filters.alpha.opacity / 100 : 0.5;
}
/* 是否显示背景遮罩层 */
if (options.isModal) {
$('#' + overlayId).fadeTo('fast', getOpacity(overlayId));
} dialog.fadeIn('fast', function() {
if ($.isFunction(options.afterShow)) {
options.afterShow.call(context, options);
}
var d = $(this).find('iframe');
if (d.length==0) {
$(this).focus();
} else {
d.one("load", function() {
this.contentWindow.focus();
});
}
returnValue = null; //清空
isShow = true;
});
resetPos();
} this.close = function() {
if ($.isFunction(options.beforeClose)) {
if (!options.beforeClose.call(context, options)) {
return;
}
} dialog.fadeOut('fast', function() {
$(this).remove();
isShow = false;
if ($.isFunction(options.afterClose)) {
options.afterClose.call(context, options);
}
returnValue = null; //清空
}); if (options.isModal) {
$('#' + overlayId).fadeOut('fast', function() { $(this).remove(); });
} delete context;
} this.hide = function() {
if (!isShow) {
return;
} if ($.isFunction(options.beforeHide)) {
if (!options.beforeHide.call(context, options)) {
return;
}
} dialog.fadeOut('fast', function() {
if ($.isFunction(options.afterHide)) {
options.afterHide.call(context, options);
}
}); if (options.isModal) {
$('#' + overlayId).fadeOut('fast');
} isShow = false;
} //设置窗体返回值
this.setReturnValue = function(value) {
returnValue = value;
} //获取窗体放回值
this.getReturnValue = function() {
return returnValue;
} init.call(this); $.dialog.__zindex++;
$.dialog.__count++;
} $.dialog.__zindex = 500;
$.dialog.__count = 1;
$.dialog.__keydown = false; $.fn.dialog.defaults = {
width: "auto", // 默认值。
name: "", // dialog名称
title: '标题', // 标题文本,若不想显示title请通过CSS设置其display为none
isShowTitle: true, // 是否显示标题栏。
closeText: ' ', // 关闭按钮文字,若不想显示关闭按钮请通过CSS设置其display为none
isDraggable: false, // 是否移动
isModal: true, // 是否是模态对话框
isCenter: true, // 是否居中。
isFixed: false, // 是否跟随页面滚动。
isCreateId: false, // 对话框的id,若为false,则由系统自动产生一个唯一id。
isNearTrigger: false, // 是否跟随触发对象
triggerElement: null, // 触发对象 id or element
triggerPosition: null, // 调节弹窗位置事件
beforeShow: null, // 显示前触发事件
afterShow: null, // 显示后触发事件
beforeClose: null, // 关闭前触发事件
afterClose: null, // 关闭后触发事件
beforeHide: null, // 隐藏前触发事件
afterHide: null // 隐藏后触发事件
};})(jQuery);
$.getDialogByChildWindow= function(dialogName) {
return parent.$(".dialog[name='" + dialogName + "'] > .content > :first-child ");
}
在页面点击click
$("#btnBillProcess").click(function () {
rcpnDetail.openWindow({
width: '970px',
name: "BillDeal",
height: '600px',
title: '账务处理',
url: '@Url.Action("BillDeal", "Cashier")?@UrlParams.PNAME_MULTY_BILLS=@Model.BillID&viewHis=@ViewBag.tableType'
});
});
弹出层打开自动获取焦点
var d = $(this).find('iframe');
if (d.length==0) {
$(this).focus();
} else {
d.one("load", function() {
this.contentWindow.focus();
});
}
本文网址:http://www.shaoqun.com/a/101091.html
*特别声明:以上内容来自于网络收集,著作权属原作者所有,如有侵权,请联系我们:admin@shaoqun.com。
0
java获取焦点_[Java教程]dialog获取焦点相关推荐
- js字符串如何拼接java代码_[Java教程]js拼接字符串传值,子窗口传值
[Java教程]js拼接字符串传值,子窗口传值 0 2015-10-26 21:00:15 避免下次再去查资料,记录一下 1.拼接字符串传值 "UpdateState?ids=" ...
- ie8不兼容java项目_[Java教程]ie8以下不兼容document.getElementsByName解决方法
[Java教程]ie8以下不兼容document.getElementsByName解决方法 0 2016-09-13 19:00:06 在IE8以认为只有文本标签才有name属性的,一些元素标签用d ...
- Java折叠_[Java教程]Jquery中菜单的展开和折叠
[Java教程]Jquery中菜单的展开和折叠 0 2018-08-15 16:03:38 标签内容 您好:alee 宿舍管理员 密码管理 修改密码 宿舍管理 学生宿舍查询 学生宿舍新增 学生宿舍分配 ...
- java 矢量_[Java教程]矢量图标的使用
[Java教程]矢量图标的使用 0 2015-11-20 14:00:42 前几年已经开始流行icon font,很多项目为了节省网站空间,实现开发时灵活的图标大小和颜色等样式修改都已经采用icon ...
- java 电子相册_[Java教程]电子相册特效
[Java教程]电子相册特效 0 2015-05-17 20:00:20 引言 初入前端这行不久,对很多东西还是很陌生,页面布局.合理使用Html标签.CSS属性.js书写习惯等等还都不是很熟悉,所以 ...
- jsp java 后台_[Java教程]用JSP做后台管理系统
[Java教程]用JSP做后台管理系统 0 2015-10-13 23:00:25 突然很开心,紧张了好几天的项目终于不那么赶了. 我是一个比别人慢半拍的人,所以一定要比别人多付出一点努力. 今天在进 ...
- java侧边栏_[Java教程]js实现的侧边栏展开收缩效果
[Java教程]js实现的侧边栏展开收缩效果 0 2016-02-12 16:00:09 js实现的侧边栏展开收缩效果: 在很多应用中,尤其是客服系统一般具有这样的效果,那就是默认状态下,会折叠在网页 ...
- windows java配置_菜鸟教程 windows 配置java的环境变量
第一步:下载java的JDK 放在你们的D盘下面(其实C盘也一样),然后傻瓜是安装,安装路径一般默认放在 C:\Program Files\Java,这个不需要管. 第二步:直接上图 ... 看懂了吗 ...
- 远行星号java 出错_按照教程搞了一条新船,但是出错了,求大神看看怎么回事...
该楼层疑似违规已被系统折叠 隐藏此楼查看此楼 11069 [Thread-5] ERROR com.fs.starfarer.combat.D - java.lang.IllegalArgumentE ...
最新文章
- SQL SERVER 数据库清空语句 忽略外键 触发器 等
- memcache调整value大小限制
- linux中用参数代替键盘输入,Linux终端中使用上一命令减少键盘输入
- eclipse中java环境配置
- HDU-4631 Sad Love Story 平面最近点对
- 【Elasticsearch】Elasticsearch bouncing result 问题
- storm-starter 例子学习
- oracle忽略损坏表空间,Oracle表空间文件损坏后的排查及解决
- 《C Primer Plus(第6版)中文版》一2.12 编程练习
- python中用rdflib生成rdf,用sparql查询
- nodejs 之创建文件
- matlab自适应高斯核
- 解答篇:金蝶K3wise总账凭证页面查询不到科目分录核算项目
- 使用国内的镜像源搭建 kubernetes(k8s)集群
- 网络通信安全部分笔记二
- 2015年中国数据库技术大会(DTCC)PPT合集
- linux修改X2APIC参数,Linux 開機參數 intremap=no_x2apic_optout
- php面向对象--php面向对象ppt
- 2019湖南多校3 What Goes Up Must Come Down (树状数组)
- jenkins邮件使用自定义变量
热门文章
- 分治——南蛮图腾(洛谷 P1498)
- Tensorflow--图
- 今晚8点直播丨 经典知识库:性能优化那些事
- 直播预告丨MySQL中的索引探究
- 诊断案例:Failed parse elapsed time引发db time过高的案例
- 看完微信抢红包算法你就明白,为啥你不是手气最佳
- 云图说|分布式事务管理DTM:“买买买”背后的小帮手
- 鸿蒙轻内核定时器Swtmr:不受硬件和数量限制,满足用户需求
- 华为云PB级数据库GaussDB(for Redis)揭秘第十期:GaussDB(for Redis)迁移系列(上)
- 【文末彩蛋】数据仓库服务 GaussDB(DWS)单点性能案例集锦