复制代码 代码如下:
///<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();"/>
///<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();"/>
标签:
jquery,监控数据,变化
免责声明:本站文章均来自网站采集或用户投稿,网站不提供任何软件下载或自行开发的软件!
如有用户或公司发现本站内容信息存在侵权行为,请邮件告知! 858582#qq.com
暂无“jquery监控数据是否变化(修正版)”评论...
P70系列延期,华为新旗舰将在下月发布
3月20日消息,近期博主@数码闲聊站 透露,原定三月份发布的华为新旗舰P70系列延期发布,预计4月份上市。
而博主@定焦数码 爆料,华为的P70系列在定位上已经超过了Mate60,成为了重要的旗舰系列之一。它肩负着重返影像领域顶尖的使命。那么这次P70会带来哪些令人惊艳的创新呢?
根据目前爆料的消息来看,华为P70系列将推出三个版本,其中P70和P70 Pro采用了三角形的摄像头模组设计,而P70 Art则采用了与上一代P60 Art相似的不规则形状设计。这样的外观是否好看见仁见智,但辨识度绝对拉满。
更新动态
2024年05月09日
2024年05月09日
- 《依盖之书》基础攻略 简述+配置+下载
- 发烧精选(雅瑟音响试音碟)VA-《UsherAudioDemonstation》CD1【ELAC】
- 发烧精选(雅瑟音响试音碟)VA-《UsherAudioDemonstation》CD2【ELAC】
- SYMPHONIESINHI-FI1(发烧交响乐1)MQGCD2020原抓WAV
- 玩家称《剑星》服装致敬杀死比尔 网友:明明是李小龙
- 索尼取消强绑PSN账号 玩家热议:污点已无法抹去
- 《死亡搁浅》玛玛演员玛格丽特·库里新片剧照 造型美艳至极
- 农夫.2023-农夫散文集【乐腾】【FLAC分轨】
- 黄格选.1993-伤心事一种说不出的痛【先科娱乐】【WAV+CUE】
- 群星.1993-宝丽金美少女宣言6CD【宝丽金】【WAV+CUE】
- 大生意隐藏任务哪里接?大生意任务攻略
- 周深《晚安明天见 TMElive超现场》[WAV/分轨][700MB]
- 群星 再次征服挑剔的耳朵《发烧天籁女声 5CD》[WAV+CUE][3.3GB]
- 费玉清《一剪梅 HQCD 不朽的经典》[WAV+CUE][670MB]
- 西游笔绘西行新手攻略 新手入门指南分享