>  기사  >  웹 프론트엔드  >  jquery는 데이터 변경 여부를 모니터링합니다(개정 버전)_jquery

jquery는 데이터 변경 여부를 모니터링합니다(개정 버전)_jquery

WBOY
WBOY원래의
2016-05-16 18:07:59928검색
코드 복사 코드는 다음과 같습니다.

///
(function($) {
/*페이지 데이터 변경 여부 모니터링*/
var pageDataChange = false;
var tagName = "입력, 선택 , 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.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')) != 'undefine ') {
if ( $(this).data('initData') != $(this).val()) {
pageDataChange =
}
}
} );
return pageDataChange;
})(jQuery)

포그라운드 호출:






성명:
본 글의 내용은 네티즌들의 자발적인 기여로 작성되었으며, 저작권은 원저작자에게 있습니다. 본 사이트는 이에 상응하는 법적 책임을 지지 않습니다. 표절이나 침해가 의심되는 콘텐츠를 발견한 경우 admin@php.cn으로 문의하세요.
이전 기사:30가지 최고의 jQuery 라이트박스 효과 플러그인다음 기사:30가지 최고의 jQuery 라이트박스 효과 플러그인

관련 기사

더보기