我先声明下,我是改动源码,网上的其他方法我试过了,不行。我是写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无法执行回掉函数解决的更多相关文章

  1. 窗口-EasyUI Window 窗口、EasyUI Dialog 对话框、EasyUI Messager 消息框

    EasyUI Window 窗口 扩展自 $.fn.panel.defaults.通过 $.fn.window.defaults 重写默认的 defaults. 窗口(window)是一个浮动的.可拖 ...

  2. 项目一:项目第二天 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 ...

  3. EasyUI - Messager消息框

    全局设定: JavaScript代码: //设置按钮中的文字,默认是-ok/cancel ,可以任意设置文字,比如现在的-确认/取消 $.messager.defaults = { ok: '确认', ...

  4. EasyUI Messager 消息框

    通过 $.messager.defaults 重写默认的 defaults. 消息框(messager)提供不同样式的消息框,包括警示(alert).确认(confirm).提示(prompt).进展 ...

  5. 使用jQuery开发messager消息框插件

    1.插件使用 首先引入jquery库,然后引入dialog.js.dialog.css.messager.js.messager.css,如下: <script type="text/ ...

  6. EasyUI 修改 Messager 消息框大小

    需求是要修改确认消息窗口的大小. 简单的调用方法是这样的: $.messager.confirm('操作确认', '确定批量编辑文章?', function (r) { ... } 这个时候生成的弹窗 ...

  7. ASP.NET 多次点击button后事件执行多次 并发解决 频繁操作解决办法

    首先让我们体验一下频繁操作: 1)打开项目,在后台aspx.cs等服务器页面,设置断点. 2)点击页面按钮 3)调试开始进入断点,然后重复点击页面按钮 4)服务器第一次事件已经处理完毕,调试再次进入了 ...

  8. jQuery EasyUI API 中文文档 - 消息框(Messager)

    http://www.cnblogs.com/Philoo/archive/2011/11/15/jeasyui_api_messager.html Messager  消息框 博客园 风流涕淌 (p ...

  9. Delphi 7中的四种消息框

    Delphi中平常使用的消息框有四种形式,有ShowMessage.MessageDlg.Application.MessageBox.MessageBox.下面来深入了解下这四种形式的实现和使用.1 ...

随机推荐

  1. 一个伟大的发现,装X一下。笔记本win7系统64位机器执行unity 时,屏幕模糊解决的方法

    笔者笔记本win7系统64位机器执行unity 时.往往切换时unity界面屏幕模糊,后来发现此时须要下载DirectXRuntimes201006x64,安装就可以.

  2. 您必须先调用“WebSecurity.InitializeDatabaseConnection”方法。。。

    有如下代码: [Authorize] public ActionResult Index() { ViewBag.ShowList = ShowList.GetShowList(WebSecurity ...

  3. Openstack能解决这些问题吗?请各位大侠一起来讨论

    1.10万规模的虚拟机,每一个虚拟机能够在不论什么一个计算节点上启动,该怎样做?计算,存储,网络都是怎么拉通与配合的? 2.用户怎样自己定义业务网络,怎样解决网络不够用的情况?正常就4096个vlan ...

  4. c# winform 多条件查找 外加网络人才回答

    浮生 Э 2012-11-22  c# winform 多条件查找  20 我现在有2个textbox  一个是用户名,另一个是电话   现在想对这两个进行条件查找datagridview里的数据 s ...

  5. bzoj1231 [Usaco2008 Nov]mixup2 混乱的奶牛——状压DP

    题目:https://www.lydsy.com/JudgeOnline/problem.php?id=1231 小型状压DP: f[i][j] 表示状态为 j ,最后一个奶牛是 i 的方案数: 所以 ...

  6. 713C

    费用流 并没有想出来构图方法 我们设立源汇,其实我们关心的是相邻两个值的差值,如果差值小于0说明需要长高,那么向汇点连边差值,说明需要修改,如果差大于零,那么由源点连边差值,说明可以提供修改空间,再由 ...

  7. Hadoop一主一从部署(2)

    Hadoop部署一主一从(2) 1.关闭防火墙和Linux守护进程 执行命令: iptables -F setenforce 0 2.对Hadoop集群进行初始化,在namenode(主机)上执行命令 ...

  8. Linux-防火墙设置-centos6.10版

    cd /etc/sysconfig vi iptables 输入i进入编辑模式 打开下图,并按照下图修改 输入esc退出编辑模式 输入保存命令:[:w] 输入退出命令:[:q] 重启防火墙 servi ...

  9. [Luogu2324]八数码难题

    抱歉...我可能真的做搜索上瘾了... 还是IDA*,自己看看就好了... 注意一下搜索顺序 #include<cstdio> #include<queue> #include ...

  10. wps 2016 个人版 重新开始编号

    wps文档重新开始编号,继续编号,自定义编号 首先选中这一行 鼠标右键选中项目符号和编号 单击项目符号和编号,你可以重新开始编号为1,继续前一列表,还可自定义,单击确定按钮就可以实现你想要的结果 效果 ...