jquery监控数据是否变化(修正版)


Posted in Javascript onApril 12, 2011
///<reference path="query-1.5.1.min.js" /> 
(function($) { 
/*监控页面数据是否发生变化*/ 
var pageDataChange = false; 
var tagName = "Input, Select, Textarea"; 
var ctrlIds = []; 
$.fn.MonitorDataChange = function(options) { 
var deafult = { 
arrTags: tagName, //需监控控件的tagName属性 
arrCtrls: ctrlIds //不监控的控件ID 
}; 
var ops = $.extend(deafult, options); 
tagName = ops.arrTags; 
ctrlIds = ops.arrCtrls; 
/*元素第一次获取焦点时缓存该元素数据*/ 
$(ops.arrTags).one("focus", function() { 
if ($.inArray($(this).attr("id"), ops.arrCtrls) != -1) { 
return; 
} 
$(this).data('initData', $(this).val()); 
}); 
}; 
/*获取页面数据是否已经改变*/ 
$.fn.isChange = function() { 
$(tagName).each(function() { 
if ($.inArray($(this).attr("id"), ctrlIds) != -1) { 
return; 
} 
/*如果该元素的initData缓存数据已定义并且不等于他的value值,标识该页面中数据发生变化*/ 
if (typeof ($(this).data('initData')) != 'undefined') { 
if ($(this).data('initData') != $(this).val()) { 
pageDataChange = true; 
} 
} 
}); 
return pageDataChange; 
}; 
})(jQuery);

前台调用:
<script type="text/javascript"> 
var is_change = false; 
$(document).ready(function() { 
$("form").MonitorDataChange(); 
}); 
function alertMsg() { 
is_change = $.fn.isChange(); 
if(is_change){ 
alert('数据发生改变!'); 
} 
} 
</script> 
<input type="text"/> 
<input type="text" /> 
<input type="text" /> 
<input type="text" /> 
<asp:TextBox runat="server"></asp:TextBox> 
<asp:CheckBox runat="server" /> 
<input type="button" value="true" onclick="alertMsg();"/>
Javascript 相关文章推荐
破除一些网站复制、右键限制
Nov 04 Javascript
JavaScript Cookie的读取和写入函数
Dec 08 Javascript
javascript实现日历控件(年月日关闭按钮)
Dec 12 Javascript
JavaScript中for..in循环陷阱介绍
Nov 12 Javascript
JavaScript AOP编程实例
Jun 16 Javascript
Jquery数字上下滚动动态切换插件
Aug 08 Javascript
js replace(a,b)之替换字符串中所有指定字符的方法
Aug 17 Javascript
Vuex2.0+Vue2.0构建备忘录应用实践
Nov 30 Javascript
javascript动画之磁性吸附效果篇
Dec 09 Javascript
vue实现的双向数据绑定操作示例
Dec 04 Javascript
微信公众平台 客服接口发消息的实现代码(Java接口开发)
Apr 17 Javascript
vue中后端做Excel导出功能返回数据流前端的处理操作
Sep 08 Javascript
javascript学习笔记(九)javascript中的原型(prototype)及原型链的继承方式
Apr 12 #Javascript
javascript 学习笔记(八)javascript对象
Apr 12 #Javascript
jQuery的初始化与对象构建之浅析
Apr 12 #Javascript
避免回车键导致的页面无意义刷新的解决方法
Apr 12 #Javascript
基于jquery实现的上传图片及图片大小验证、图片预览效果代码
Apr 12 #Javascript
javascript实现上传图片并预览的效果实现代码
Apr 11 #Javascript
window.dialogArguments 使用说明
Apr 11 #Javascript
You might like
《魔兽世界》惊魂幻象将获得调整
2020/03/08 其他游戏
Windows下编译PHP5.4和xdebug全记录
2015/04/03 PHP
关于laravel 子查询 &amp; join的使用
2019/10/16 PHP
jQuery 名称冲突的解决方法
2011/04/08 Javascript
js/jquery去掉空格,回车,换行示例代码
2013/11/05 Javascript
实现51Map地图接口(示例代码)
2013/11/22 Javascript
简单的ajax连接库分享(不用jquery的ajax)
2014/01/19 Javascript
js 动态为textbox添加下拉框数据源的方法
2014/04/24 Javascript
JS获取单击按钮单元格所在行的信息
2014/06/17 Javascript
Javascript中arguments对象的详解与使用方法
2016/10/04 Javascript
JS实现求数组起始项到终止项之和的方法【基于数组扩展函数】
2017/06/13 Javascript
js原生方法被覆盖,从新赋值原生的方法
2018/01/02 Javascript
微信小程序如何像vue一样在动态绑定类名
2018/04/17 Javascript
QQ跳转支付宝并自动领红包脚本(最新)
2018/06/22 Javascript
vue中v-for通过动态绑定class实现触发效果
2018/12/06 Javascript
JavaScript RegExp 对象用法详解
2019/09/24 Javascript
jQuery实现轮播图效果
2019/11/26 jQuery
Vue实现移动端拖拽交换位置
2020/07/29 Javascript
Vue实现鼠标经过文字显示悬浮框效果的示例代码
2020/10/14 Javascript
[01:33]真香警告!DOTA2勇士令状不朽珍藏Ⅱ饰品欣赏
2018/06/26 DOTA
打印出python 当前全局变量和入口参数的所有属性
2009/07/01 Python
理解Python中的With语句
2015/02/02 Python
Python复制目录结构脚本代码分享
2015/03/06 Python
Python 实现Windows开机运行某软件的方法
2018/10/14 Python
pygame游戏之旅 调用按钮实现游戏开始功能
2018/11/21 Python
python word转pdf代码实例
2019/08/16 Python
Python常用模块sys,os,time,random功能与用法实例分析
2020/01/07 Python
中邮全球便购:中国邮政速递物流
2017/03/04 全球购物
英国第一的购买便宜玩具和游戏的在线购物网站:Bargain Max
2018/01/24 全球购物
美国农场鲜花速递:The Bouqs
2018/07/13 全球购物
英国礼品和生活方式品牌:Treat Republic
2020/11/21 全球购物
4s店机修工岗位职责
2013/12/20 职场文书
群众路线教育实践活动总结
2014/10/30 职场文书
2016年中学植树节活动总结
2016/03/16 职场文书
Python实现Telnet自动连接检测密码的示例
2021/04/16 Python
python全面解析接口返回数据
2022/02/12 Python