jqeury easyui 为啥 onBeforLoad里面的$.messager.confirm不能阻止onBeforLoad的执行!
Posted
tags:
篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了jqeury easyui 为啥 onBeforLoad里面的$.messager.confirm不能阻止onBeforLoad的执行!相关的知识,希望对你有一定的参考价值。
比如
function onBeforLoadDataManual()
debugger;
endEditing();
var updateRows = $('#tab_view_qeury').datagrid('getChanges', 'updated');
if(null != updateRows && updateRows.length > 0)
$.messager.confirm('确认','确认保存当前参数设置吗?',function(r)
if (r)
alert('确认删除');
);
var i = 1+1;
我还没确认它都执行了 var i = 1+1;这里了
或者有什么其他办法?
$.messager.confirm('确认','确认保存当前参数设置吗?',function(r)
if (r)
alert('确认删除');
var i = 1+1;
);
else
var i = 1+1;
参考技术A 是异步的原因,我今天也碰到了,easyUI的所有消息提示框都是异步的(官网有提到),因此阻止不了。可以直接返回false(写死),然后根据提示框的结果再回调确定是否关闭。
JQeury添加和删除class内部实现代码(简化版)
下面是JQuery对元素class操作的简单实现,请看代码:
添加class:
//增加class function addClass(elem,value) { var classes, cur, clazz, j, finalValue // 如果参数是多个样式设置"a b c"按照\/S+\g空格分割 classes = (value || "").match(/\S+/g) || []; //如果是元素节点,并且有class属性 //拼接成 " a b c "形式,加上前后空格 cur = elem.nodeType === 1 && (elem.className ? (" " + elem.className + " ").replace(/[\t\r\n\f]/g, " ") : " " ); //如果存在样式 if (cur) { j = 0; while ((clazz = classes[j++])) { //查找下是否不是有重复的,没有就叠加 if (cur.indexOf(" " + clazz + " ") < 0) { cur += clazz + " "; } } // 去掉前后的空格 finalValue = jQuery.trim(cur); if (elem.className !== finalValue) { //赋值 elem.className = finalValue; } } }
移除class:
//移除样式 function removeClass(elem, value) { var classes, cur, clazz, j, finalValue // 如果参数是多个样式设置"a b c"按照\/S+\g空格分割 classes = (value || "").match(/\S+/g) || []; //如果是元素节点,并且有class属性 //拼接成 " a b c "形式,加上前后空格 cur = elem.nodeType === 1 && (elem.className ? (" " + elem.className + " ").replace(/[\t\r\n\f]/g, " ") : " " ); //如果存在样式 if (cur) { j = 0; while ((clazz = classes[j++])) { //与addClass的区别在这里 while (cur.indexOf(" " + clazz + " ") >= 0) { cur = cur.replace(" " + clazz + " ", " "); } } // 去掉前后的空格 finalValue = jQuery.trim(cur); if (elem.className !== finalValue) { //赋值 elem.className = finalValue; } } }
其实原理就是通过元素原生className属性获得元素class值(一串字符),然后对这串字符进行各种奇淫技巧拼接,最后再赋值到元素的className属性。
以上是关于jqeury easyui 为啥 onBeforLoad里面的$.messager.confirm不能阻止onBeforLoad的执行!的主要内容,如果未能解决你的问题,请参考以下文章
jsp中使用easyui combobox时,为啥选择项前后会有好长的空格