作家
登录

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

作者: 来源:www.28hudong.com 2013-03-30 00:54:42 阅读 我要评论

复制代码 代码如下: ///<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中的isXX系列是否继续使用的分析

复制代码 代码如下: isNull: function(a){ return a === null; }, isUndefined: function(a){ return a === undefined; }, isNumber: function(a){ return typeof a === 'number'; }, isString: function(a){ retu>>>详细阅读


本文标题:jquery监控数据是否变化(修正版)

地址:http://www.17bianji.com/kaifa2/JS/24670.html

关键词: 探索发现

乐购科技部分新闻及文章转载自互联网,供读者交流和学习,若有涉及作者版权等问题请及时与我们联系,以便更正、删除或按规定办理。感谢所有提供资讯的网站,欢迎各类媒体与乐购科技进行文章共享合作。

网友点评
自媒体专栏

评论

热度

精彩导读
栏目ID=71的表不存在(操作类型=0)