2013-04-23 2 views
1

크롬 V 26.0.1410.64jQueryUI 모달 대화 - Google 크롬에 위치에 예상치 못한 변화를 원인을 끌어

jQuery를 V 1.7.1

jQueryUI의 V 최신

웹 응용 프로그램이 내장되어 사용하여 ASP... .net webforms

  • 페이지가 맨 위에 있으면 대화 상자가 정상적으로 열리고 모든 것이 의도 한대로 작동합니다. 드래그 대화 상자는 아무런 문제가 없습니다. 페이지를 아래로 스크롤하면 대화 상자를 드래그 할 때 대화 상자의 상단 css 속성이 세로 스크롤 량의 값만큼 대략 증가합니다. 이 문제는 Google 크롬에서만 발생합니다.

이것은 모달 팝업을 여는 기능의 일부입니다.

var $dialog = $('<div id="dialogIframe" title="Some title"></div>') 
    .html('<iframe id="jqueryIframe" style="border: 0px;" src="' + page + '" 
    width="99%" height="99%"></iframe>') 
    .dialog({ 
     autoOpen: false, 
     modal: true, 
     height: height, 
     width: width, 
     resizable: false, 
     draggable: true, 
     buttons: dialog_buttons, 
     close: function (event, ui) { 
      $('#dialogIframe').remove(); 
     } 
    }); 

    $dialog.dialog('open'); 
  • 나는 다른 사람의 코드 작업입니다. 이런 종류의 행동을 일으키는 원인이 될지 잘 모르겠습니다. 이런 종류의 동작이 발생할 수 있습니까?

편집 : - jQuery를 버전으로 전환 할 때 : 예상대로 구글 크롬에서 작동하지만 같은 문제가 지금

(이전 JQ 버전 제대로 작동되었다) IE9와 FF 최근에 발생 한 묶음

EDIT 2 : -이 문제는 webforms의 MaintainScrollPositionOnPostback 페이지 속성과 관련이 있을지도 모릅니다. 그 방법은 기존 방식으로 사용하지 않도록 설정하거나 false로 설정할 수 없습니다. aspx 페이지, 코드 숨김 동일한 페이지, 마스터 페이지, web.config, 이것은 놀랍습니다.

답변

0

같은 문제가있는 크롬 및

내 대화가 매우 작기 때문에이 나를 ​​위해 작동
  open:function(){ 
      $('body').addClass('stop-scrolling') 
     }, 

    beforeClose: function(event, ui) { 
     $('body').removeClass('stop-scrolling') 
    }, 

으로 해결하지만, 당신은 당신의 화면

는 CSS에 공간이보다 당신의 대화에 더 많은 콘텐츠가있을 때 당신은 곤경에 얻을 수 클래스는

.stop-scrolling { 
height: 100%; 
overflow: hidden; 
} 

처럼 보이는 문제는이 페이지 모달 대화 상자, 대화 상자가 활성화되어있는 동안 스크롤이 비활성화되어 있으므로 경우에도, 정말 긴 것입니다

+0

스크롤에서 몸을 방지 아직 활성화시키지 않았기 때문에 드래그하려고 할 때 여전히 처분됩니다. 반드시 페이지 상단에 있지는 않습니다. 최신 버전의 jQuery (1.9.1)를 추가했을 때 크롬은 더 이상 문제가되지 않았습니다. 이제 Firefox와 IE는 이전 버전에서 크롬과 동일한 동작을 보였습니다. –

+0

위치를 설정하려고 했습니까 : iframe 스타일 attr에서 절대적으로. ? –

+0

예, 시도했지만 아무런 차이가 없었습니다. 도와 주셔서 감사합니다. –