手机
当前位置:查字典教程网 >编程开发 >Javascript教程 >jquery监控数据是否变化(修正版)
jquery监控数据是否变化(修正版)
摘要:复制代码代码如下:///(function($){/*监控页面数据是否发生变化*/varpageDataChange=false;varta...

复制代码 代码如下:

///<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"/>

【jquery监控数据是否变化(修正版)】相关文章:

jQuery聚合函数实例

jQuery实现将页面上HTML标签换成另外标签的方法

JavaScript检查数字是否为整数或浮点数的方法

Jquery使用val方法读写value值

jQuery实现给页面换肤的方法

jQuery判断指定id的对象是否存在的方法

jQuery使用zTree插件实现树形菜单和异步加载

链接渐变效果

基于jquery实现下拉框美化特效

JS和css实现检测移动设备方向的变化并判断横竖屏幕

精品推荐
分类导航