[jquery] jquery UI 대화 상자 : 제목 표시 줄없이 초기화하는 방법은 무엇입니까?

제목 표시 줄없이 jQuery UI 대화 상자를 열 수 있습니까?



답변

가장 좋은 해결책은 옵션을 사용하는 것입니다. dialogClass 입니다.

jquery UI 문서에서 추출한 내용 :

초기화 중 : $('.selector').dialog({ dialogClass: 'noTitleStuff' });

또는 init 후 원하는 경우. :

$('.selector').dialog('option', 'dialogClass', 'noTitleStuff');

그래서 나는 dialogClass = ‘noTitleStuff’옵션과 CSS를 사용하여 대화 상자를 만들었습니다.

.noTitleStuff .ui-dialog-titlebar {display:none}

너무 간단합니다! 하지만 왜 이전 id-> class 드릴링 방법이 작동하지 않는지 생각하기 위해 하루가 걸렸습니다. 실제로 .dialog()메소드 div 를 호출 하면 변환 한 다른 div (실제 대화 상자 div)의 자식이 될 수 있으며 div의 ‘형제’가 될 수 titlebar있으므로 전자에서 시작하여 후자를 찾는 것은 매우 어렵습니다.


답변

제목 표시 줄을 동적으로 제거하기위한 수정 프로그램을 찾았습니다.

$("#example").dialog(dialogOpts);
// remove the title bar
$(".ui-dialog-titlebar").hide();

대화 상자가 렌더링 된 후 ‘ui-dialog-titlebar’클래스가있는 모든 요소가 제거됩니다.


답변

CSS로 숨길 수 있다고 생각합니다.

.ui-dialog-titlebar {
    display: none;
}

또는 다음 dialogClass옵션을 사용하여이를 특정 대화 상자에 적용 할 수 있습니다 .

$( "#createUserDialog" ).dialog({
    dialogClass: "no-titlebar"
});
.no-titlebar .ui-dialog-titlebar {
    display: none;
}

대화 상자 ” 테마 “를 확인하십시오 . 위의 제안 차종은의 사용 dialogClass에있을 표시 옵션, 밖으로의 방법으로 새로운 방법에 찬성한다.


답변

나는 이것을 내 프로젝트에서 사용한다

$("#myDialog").dialog(dialogOpts);
// remove the title bar
$("#myDialog").siblings('div.ui-dialog-titlebar').remove();
// one liner
$("#myDialog").dialog(dialogOpts).siblings('.ui-dialog-titlebar').remove();


답변

이것은 나를 위해 일했다 :

$("#dialog").dialog({
    create: function (event, ui) {
        $(".ui-widget-header").hide();
    },


답변

사용해보십시오

$("#mydialog").closest(".ui-dialog-titlebar").hide();

모든 대화 제목이 숨겨집니다

$(".ui-dialog-titlebar").hide();


답변

실제로 대화 상자를 사용하여 다른 방법이 있습니다. widget 직접 있습니다.

대화 상자 위젯을 얻을 수 있습니다

$("#example").dialog(dialogOpts);
$dlgWidget = $('#example').dialog('widget');

그리고 나서

$dlgWidget.find(".ui-dialog-titlebar").hide();

숨길 titlebar해당 대화 상자 내에서만

그리고 한 줄의 코드로 (체인을 좋아합니다) :

$('#example').dialog('widget').find(".ui-dialog-titlebar").hide();

이 방법으로 대화 상자에 추가 클래스를 추가 할 필요가 없습니다. 바로 수업을 진행하십시오. 나를 위해 잘 작동합니다.