ホームページ  >  記事  >  ウェブフロントエンド  >  jqueryでデータの変更を監視する(改訂版)_jquery

jqueryでデータの変更を監視する(改訂版)_jquery

WBOY
WBOYオリジナル
2016-05-16 18:07:59924ブラウズ
コードをコピー コードは次のとおりです:

///
(function($) {
/*ページデータが変更されるかどうかを監視します*/
var pageDataChange = false;
var tagName = "入力、選択, Textarea" ;
var ctrlIds = [];
$.fn.MonitorDataChange = function(options) {
var deafult = {
arrTags: tagName, //コントロールの tagName 属性監視対象
arrCtrls : ctrlIds //監視対象外のコントロール ID
};
var ops = $.extend(default, options);
tagName = ops.arrTags; ;
/*要素が初めてフォーカスを取得したときに要素データをキャッシュします*/
$(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 がデータをキャッシュする場合、その値は定義されていますが、その値と等しくなく、ページ内のデータが変更されたことを示します*/
if (typeof ($(this).data('initData')) != 'unknown ') {
if ( $(this).data('initData') != $(this).val()) {
pageDataChange = true;
}
} );
return pageDataChange;
})(jQuery);


コピーcode

コードは次のとおりです。





声明:
この記事の内容はネチズンが自主的に寄稿したものであり、著作権は原著者に帰属します。このサイトは、それに相当する法的責任を負いません。盗作または侵害の疑いのあるコンテンツを見つけた場合は、admin@php.cn までご連絡ください。