>  기사  >  웹 프론트엔드  >  jquery blockUI 마스크가 사라지지 않고 제출되지 않는 문제에 대한 해결책_jquery

jquery blockUI 마스크가 사라지지 않고 제출되지 않는 문제에 대한 해결책_jquery

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

//마스크 표시
$.blockUI({
메시지: $('#divlogin'),
css:{너비:"400px", 높이:"255px", 상단: ($(window).height() - 400) /2 'px' , 왼쪽 : ($(window).width() - 400) /2 'px'}
})
//마스크 취소
$("#cancel").click(function() {
$.unblockUI();
});

마스킹 해제는 js에 의해 동적으로 생성된 외부 레이어가 사라지지 않음을 의미합니다.
FF3.0.4, 크롬에서는 문제가 없으나 IE6 IE7 Ie8에서는 정상이 아닙니다.
소스코드를 열어서 다음 문장을 찾아보세요:
코드 복사 코드는 다음과 같습니다

var lyr1 = ($.browser.msie) ? $('')
: $('
');

IE에서는 iframe을 생성하고 이 iframe 대화 상자에서 자체 로드하는 것을 볼 수 있습니다. .
이제 바깥 레이어만 사라지는 것이 아니라 수동으로 사라지게 할 수 있습니다.
코드 복사 코드는 다음과 같습니다.

$.blockUI({ 메시지: $( "#dialog ")});
$("#cancel").click(function() {
$.unblockUI();
$(".blockUI").fadeOut("slow" );
});

좋아요. IE6과 IE7은 괜찮습니다.
blockui를 사용한 후에는 마스크 레이어 데이터를 백그라운드로 제출할 수 없습니다.
나중에 제출하고 싶기 때문에 마스크 레이어가 더 이상 존재하지 않는 것으로 알고 있습니다. form이므로 제출 후 form이 없으면 제출할 수 없습니다
해결 방법은 form에 마스크 레이어 부분을 넣는 것입니다
$('#divlogin').parent().appendTo(jQuery("form :first"));---아직 완전히 찾아서 배치되지 않았습니다. 양식 외부의 마스크 레이어 데이터가 명확하지 않습니다.
성명:
본 글의 내용은 네티즌들의 자발적인 기여로 작성되었으며, 저작권은 원저작자에게 있습니다. 본 사이트는 이에 상응하는 법적 책임을 지지 않습니다. 표절이나 침해가 의심되는 콘텐츠를 발견한 경우 admin@php.cn으로 문의하세요.