如何刪除jQuery UI對話框上的關閉按鈕?

如何在jQuery UI建立的對話框中刪除關閉按鈕(右上角的X )? ide


#1樓

一旦在元素上調用.dialog() ,就能夠在任何方便的時間找到關閉按鈕(和其餘對話框標記),而無需使用事件處理程序: ui

$("#div2").dialog({                    // call .dialog method to create the dialog markup
    autoOpen: false
});
$("#div2").dialog("widget")            // get the dialog widget element
    .find(".ui-dialog-titlebar-close") // find the close button for this dialog
    .hide();                           // hide it

替代方法: this

在對話框事件處理程序內部, this指的是「對話」元素和$(this).parent()引用對話框標記容器,所以: spa

$("#div3").dialog({
    open: function() {                         // open event handler
        $(this)                                // the element being dialogged
            .parent()                          // get the dialog widget element
            .find(".ui-dialog-titlebar-close") // find the close button for this dialog
            .hide();                           // hide it
    }
});

僅供參考,對話框標記以下所示: code

<div class="ui-dialog ui-widget ui-widget-content ui-corner-all ui-draggable ui-resizable">
    <!-- ^--- this is the dialog widget -->
    <div class="ui-dialog-titlebar ui-widget-header ui-corner-all ui-helper-clearfix">
        <span class="ui-dialog-title" id="ui-dialog-title-dialog">Dialog title</span>
        <a class="ui-dialog-titlebar-close ui-corner-all" href="#"><span class="ui-icon ui-icon-closethick">close</span></a>
    </div>
    <div id="div2" style="height: 200px; min-height: 200px; width: auto;" class="ui-dialog-content ui-widget-content">
        <!-- ^--- this is the element upon which .dialog() was called -->
    </div>
</div>

演示在這裏 事件


#2樓

Robert MacLean的回答對我不起做用。 element

但這對我有用: rem

$("#div").dialog({
   open: function() { $(".ui-dialog-titlebar-close").hide(); }
});

#3樓

您還能夠刪除標題行: get

<div data-role="header">...</div> it

刪除關閉按鈕。


#4樓

Dialog小部件添加的關閉按鈕具備類'ui-dialog-titlebar-close',所以在初始調用.dialog()以後,您能夠使用這樣的語句再次刪除關閉按鈕:它能夠工做..

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

#5樓

如官方頁面所示並由David建議:

建立一個樣式:

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

而後,您能夠簡單地將no-close類添加到任何對話框,以隱藏它的關閉按鈕:

$( "#dialog" ).dialog({
    dialogClass: "no-close",
    buttons: [{
        text: "OK",
        click: function() {
            $( this ).dialog( "close" );
        }
    }]
});
相關文章
相關標籤/搜索