2011-03-25 5 views
0

액세스하지 않아야하지만 여전히 모달 대화 상자 외부에서 표시되어야하는 페이지 위에 나타나는 모달 대화 상자가 있습니다. 두 가지 문제를 제외하고는 완벽하게 작동합니다 :닫는 옵션없이 jQuery UI 모달 대화 상자를 만들려고 시도합니다.

  • 모달 대화 상자가 나타나 자마자 그 안에 링크가 자동으로 집중되어 그 주위에 파란색 상자가 생깁니다. 집중),하지만 나는이 행동을 원하지 않는다.
  • 또한 사용자가 대화 상자를 닫을 수있게 해주는 X 버튼이 있으며 제거하려고합니다.

도움이 필요하십니까?

답변

5

지금까지 폐쇄되는 것을 jQuery를 UI 대화 상자를 방지하기위한 방법은 다음과 같습니다

옵션을 설정
  1. closeOnEscapefalse에 :

    :

    $(dlg).dialog('option', 'closeOnEscape', false);

  2. 방금 ​​생성 한 후에는 닫기 버튼을 제거

    $(dlg).parent().find('a.ui-dialog-titlebar-close').remove();

  3. $(dlg).bind('dialogbeforeclose', false);

#1#3도 물론, 만드는 동안 수행 할 수 있습니다

  • 은 NOOP beforeclose 핸들러를 등록합니다.

  • 0

    2 점,이 시도 : 당신의 jQuery를-UI의 CSS 파일을 통해

    1 탐색을이 클래스

    .ui-dialog .ui-dialog-titlebar-close 
    

    2 닫기 버튼이 표시되지 않습니다 있도록이 클래스를 수정을 찾아, 다만 다음으로 대체 : 확인 버튼을 최종 사용자에게 표시되지 수 있도록 :

    .ui-dialog .ui-dialog-titlebar-close { disply:none; position: absolute; right: .3em; top: 50%; width: 19px; margin: -10px 0 0 0; padding: 1px; height: 18px; } 
    

    난 그냥 새 속성 (없음 표시)를 추가했다.

    감사합니다. 감사합니다.

    +0

    jQuery에서 제공 한 CSS는 수정하지 말고 다른 곳에서는 무시하는 것이 가장 좋습니다. 그렇게하면 jQuery UI를 업그레이드 할 때 CSS를 다시 패치 할 필요가 없습니다. 대화창이 생성 된 직후에 DOM에서'.ui-dialog-titlebar-close' 요소를 제거하십시오. – Alnitak

    관련 문제