jquery監(jiān)控?cái)?shù)據(jù)是否變化(修正版)
更新時(shí)間:2011年04月12日 13:56:05 作者:
jquery監(jiān)控?cái)?shù)據(jù)是否變化(修正版) 之前寫的那篇中存在許多bug,今天重新整理了一下。還請(qǐng)各位指教
復(fù)制代碼 代碼如下:
///<reference path="query-1.5.1.min.js" />
(function($) {
/*監(jiān)控頁(yè)面數(shù)據(jù)是否發(fā)生變化*/
var pageDataChange = false;
var tagName = "Input, Select, Textarea";
var ctrlIds = [];
$.fn.MonitorDataChange = function(options) {
var deafult = {
arrTags: tagName, //需監(jiān)控控件的tagName屬性
arrCtrls: ctrlIds //不監(jiān)控的控件ID
};
var ops = $.extend(deafult, options);
tagName = ops.arrTags;
ctrlIds = ops.arrCtrls;
/*元素第一次獲取焦點(diǎn)時(shí)緩存該元素?cái)?shù)據(jù)*/
$(ops.arrTags).one("focus", function() {
if ($.inArray($(this).attr("id"), ops.arrCtrls) != -1) {
return;
}
$(this).data('initData', $(this).val());
});
};
/*獲取頁(yè)面數(shù)據(jù)是否已經(jīng)改變*/
$.fn.isChange = function() {
$(tagName).each(function() {
if ($.inArray($(this).attr("id"), ctrlIds) != -1) {
return;
}
/*如果該元素的initData緩存數(shù)據(jù)已定義并且不等于他的value值,標(biāo)識(shí)該頁(yè)面中數(shù)據(jù)發(fā)生變化*/
if (typeof ($(this).data('initData')) != 'undefined') {
if ($(this).data('initData') != $(this).val()) {
pageDataChange = true;
}
}
});
return pageDataChange;
};
})(jQuery);
前臺(tái)調(diào)用:
復(fù)制代碼 代碼如下:
<script type="text/javascript">
var is_change = false;
$(document).ready(function() {
$("form").MonitorDataChange();
});
function alertMsg() {
is_change = $.fn.isChange();
if(is_change){
alert('數(shù)據(jù)發(fā)生改變!');
}
}
</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的監(jiān)控?cái)?shù)據(jù)是否發(fā)生改變
- jquery.autocomplete修改實(shí)現(xiàn)鍵盤上下鍵自動(dòng)填充示例
- jQuery scroll事件實(shí)現(xiàn)監(jiān)控滾動(dòng)條分頁(yè)示例
- 基于Jquery實(shí)現(xiàn)鍵盤按鍵監(jiān)聽
- jquery.hotkeys監(jiān)聽鍵盤按下事件keydown插件
- jquery 按鍵盤上的enter事件
- 打造個(gè)性化的功能強(qiáng)大的Jquery虛擬鍵盤(VirtualKeyboard)
- jQuery監(jiān)控文本框事件并作相應(yīng)處理的方法
- jQuery實(shí)現(xiàn)監(jiān)控頁(yè)面所有ajax請(qǐng)求的方法
- jQuery 監(jiān)控鍵盤一段時(shí)間沒輸入
相關(guān)文章
jquery實(shí)現(xiàn)鼠標(biāo)拖動(dòng)圖片效果示例代碼
鼠標(biāo)拖動(dòng)圖片的效果想必大家都有見到過(guò)吧,其實(shí)實(shí)現(xiàn)起來(lái)很簡(jiǎn)單的,下面使用query來(lái)實(shí)現(xiàn)下,感興趣的朋友不要錯(cuò)過(guò)2014-01-01ligerUI的ligerDialog關(guān)閉刷新的方法
今天小編就為大家分享一篇ligerUI的ligerDialog關(guān)閉刷新的方法,具有很好的參考價(jià)值,希望對(duì)大家有所幫助。一起跟隨小編過(guò)來(lái)看看吧2019-09-09基于jquery實(shí)現(xiàn)的圖片在各種分辨率下未知的容器內(nèi)上下左右居中
這篇文章主要介紹了基于jquery實(shí)現(xiàn)的圖片在各種分辨率下未知的容器內(nèi)上下左右居中的方法,需要的朋友可以參考下2014-05-05從JavaScript 到 JQuery (1)學(xué)習(xí)小結(jié)
本人使用JavaScript 已經(jīng)有2年左右的時(shí)間了,一直被它簡(jiǎn)潔優(yōu)雅的代碼所吸引, 近期接觸了 JQuery這個(gè)庫(kù) , 感覺還不錯(cuò), 但是并不意味著要舍棄 JavaScript , 而是更宣揚(yáng)結(jié)合使用 .2009-02-02jquery 禁止鼠標(biāo)右鍵并監(jiān)聽右鍵事件
本篇文章主要介紹了jquery禁止鼠標(biāo)右鍵并監(jiān)聽右鍵事件的相關(guān)知識(shí)。具有很好的參考價(jià)值。下面跟著小編一起來(lái)看下吧2017-04-04jQuery實(shí)現(xiàn)上下滾動(dòng)公告欄詳細(xì)代碼
之前做項(xiàng)目的時(shí)候,一直都想著做一個(gè)上下滾動(dòng)的公告欄,作為展示網(wǎng)站的最新公告信息,給用戶帶來(lái)極好的用戶體驗(yàn),下面小編通過(guò)實(shí)例代碼給大家分享基于jQuery實(shí)現(xiàn)上下滾動(dòng)公告欄,感興趣的朋友一起看看吧2018-11-11jQuery實(shí)現(xiàn)右鍵菜單、遮罩等效果代碼
這篇文章主要介紹了jQuery實(shí)現(xiàn)右鍵菜單、遮罩、彈出層效果,適應(yīng)管理系統(tǒng)界面,具有一定的參考價(jià)值,感興趣的小伙伴們可以參考一下2016-09-09