EasyUI Messager 消息框点击右上角x无法执行回掉函数解决
我先声明下,我是改动源码,网上的其他方法我试过了,不行。我是写java后台的,前端也是小白,可能讲的也也不是很清楚。
首先我想到的是在网上找到解决方法,我找到一个方法说在jquery.easyui.min.js里面加入一段代码,我试过了,不行。
根据这个思路,更改easyui源码,我们来看源博主是怎么改的。
我用的是easyui1.3.2,跟原博主的版本也是不一样的,easyui源码里面获取window的方法名也不叫_211,然后ctrl+h搜索var win,在jquery.easyui.min.js里面找到了var win=_237(_238, _239, _23a);这个方法,我猜测,应该是跟源博主说的一样,版本不一样,方法名有所改变。然后我找到_237这个方法,发现他返回的是一个window。再去看openAlert()这个方法,从源头上面调用是调用$.messager这个对象的一个属性,属性为alert,是一个方法,看下图
先看上面红色框,defaults.ok,然后执行传入的fn回掉函数,然后我结合实际情况,猜测这个就是Messager 窗口点击确认执行的方法。由此可见,点击Messager 窗口确定的时候,会执行你传入的fuction,也就是openAlert()的第四个参数。如果不信,可以在里面加入console.log()试验一下,具体是不是这样,我没有试过,重点并不在这里。在看下面的红色框内。这里调用了_237这个方法获取了一个window,然后我到_237这个方法里面去看。
我们可以看到,_237里面声明了一个window,对这个window进行了一系列操作,别的不看,看箭头指向这个位置。onClose不就是关闭按钮吗,点击关闭按钮执行的函数,函数里面只是做了个延迟0.01秒关闭页面的操作,入口找到了。当时的内心还是很鸡动的,啊呸,激动,哈哈。到这里,我们知道$.messager.alert是一个函数,里面调用了_237这个函数。你调用openAlert()的时候就是在调用$.messager.alert的函数,而$.messager.alert又调用了_237这个方法。这个时候,我们只需要给_237这个方法加入一个参数fn。如下图:
这样就把你传入的回掉函数在Messager窗口点击右上角x的时候执行了。在alert这个函数里面,调用_237这个方法的时候加上fn这个参数就行。当然,_237这个函数是共用的,所以,其他方式打开的窗口调用_237的时候,也需要加入fn这个参数:
这个时候就完成了对源码的修改,个人亲测,没有问题。如果是版本和我不一样,找找这个方法应该就能找到,这个方法很显眼。当然,源码改完只够都需要去测试一把,哈哈。希望能帮助被这个问题所困扰的同学。我一个月更新一片博客,和大家共同成长,一个工作11个月的彩笔的随笔
EasyUI Messager 消息框点击右上角x无法执行回掉函数解决的更多相关文章
- 窗口-EasyUI Window 窗口、EasyUI Dialog 对话框、EasyUI Messager 消息框
EasyUI Window 窗口 扩展自 $.fn.panel.defaults.通过 $.fn.window.defaults 重写默认的 defaults. 窗口(window)是一个浮动的.可拖 ...
- 项目一:项目第二天 Jquery ztree使用展示菜单数据 2、 基础设置需求分析 3、 搭建项目框架环境--ssh(复习) 4、 SpringData-JPA持久层入门案例(重点) 5、 Easyui menubutton菜单按钮使用 6、 Easyui messager消息框使用
1. Jquery ztree使用展示菜单数据 2. 基础设置需求分析 3. 搭建项目框架环境--ssh(复习) 4. SpringData-JPA持久层入门案例(重点) 5. Easyui menu ...
- EasyUI - Messager消息框
全局设定: JavaScript代码: //设置按钮中的文字,默认是-ok/cancel ,可以任意设置文字,比如现在的-确认/取消 $.messager.defaults = { ok: '确认', ...
- EasyUI Messager 消息框
通过 $.messager.defaults 重写默认的 defaults. 消息框(messager)提供不同样式的消息框,包括警示(alert).确认(confirm).提示(prompt).进展 ...
- 使用jQuery开发messager消息框插件
1.插件使用 首先引入jquery库,然后引入dialog.js.dialog.css.messager.js.messager.css,如下: <script type="text/ ...
- EasyUI 修改 Messager 消息框大小
需求是要修改确认消息窗口的大小. 简单的调用方法是这样的: $.messager.confirm('操作确认', '确定批量编辑文章?', function (r) { ... } 这个时候生成的弹窗 ...
- ASP.NET 多次点击button后事件执行多次 并发解决 频繁操作解决办法
首先让我们体验一下频繁操作: 1)打开项目,在后台aspx.cs等服务器页面,设置断点. 2)点击页面按钮 3)调试开始进入断点,然后重复点击页面按钮 4)服务器第一次事件已经处理完毕,调试再次进入了 ...
- jQuery EasyUI API 中文文档 - 消息框(Messager)
http://www.cnblogs.com/Philoo/archive/2011/11/15/jeasyui_api_messager.html Messager 消息框 博客园 风流涕淌 (p ...
- Delphi 7中的四种消息框
Delphi中平常使用的消息框有四种形式,有ShowMessage.MessageDlg.Application.MessageBox.MessageBox.下面来深入了解下这四种形式的实现和使用.1 ...
随机推荐
- 怎样利用WordPress创建自己定义注冊表单插件
来源:http://www.ido321.com/1031.html 原文:Creating a Custom WordPress Registration Form Plugin 译文:创建一个定制 ...
- https://www.threatminer.org/domain.php?q=blackschickens.xyz ——域名的信誉查询站点 还可以查IP
https://www.threatminer.org/domain.php?q=blackschickens.xyz https://www.threatminer.org/host.php?q=6 ...
- DCloud-MUI:AJAX
ylbtech-DCloud-MUI:AJAX 1.返回顶部 1. 2. 2.返回顶部 3.返回顶部 4.返回顶部 5.返回顶部 1. http://dev.dcloud.net.cn ...
- Oracle Instant Client 安装配置
一.下载 下载地址:http://www.oracle.com/technetwork/database/features/instant-client/index-097480.html 这是Ora ...
- Django day08 多表操作 (一) 多表模型创建
多表模型创建分析:1)作者表:一个作者有姓名和年龄2)作者信息表: 有作者就有信息,点击作者的名字可以查询他的电话和地址, 作者表对应作者信息表,所以他们之间是一对一对的关系3)出版社表: 出版社有对 ...
- AOP实现参数的判空问题
不想每次都去判断必传的参数是否为空,写代码太繁琐了,正好最近用了AOP实现权限控制,依葫芦画瓢,现在用它实现参数的判空,至于AOP的原理之类,自己百度了解一下吧 1. NullDisable注解 @D ...
- CentOS7 搭建Kafka(三)工具篇
CentOS7 搭建Kafka(三)工具篇 做为一名懒人,自然不喜欢敲那些命令,一个是容易出错,另外一个是懒得记,能有个工具就最好了,一查还挺多,我们用个最主流的Kafka Manager Kafka ...
- swift-自定义TabBar工具栏
class EBTAppDelegate: UIResponder, UIApplicationDelegate { var window: UIWindow? func application(ap ...
- Tour UVA - 1347
John Doe, a skilled pilot, enjoys traveling. While on vacation, he rents a small plane and starts vi ...
- Combobox 下拉框赋值
string sql = "select distinct RoleName from tb_Role"; DataTable dt = SqlHelper.DataTable(s ...