如何在jQuery UI建立的對話框中刪除關閉按鈕(右上角的X )? ide
一旦在元素上調用.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>
演示在這裏 事件
Robert MacLean的回答對我不起做用。 element
但這對我有用: rem
$("#div").dialog({ open: function() { $(".ui-dialog-titlebar-close").hide(); } });
您還能夠刪除標題行: get
<div data-role="header">...</div>
it
刪除關閉按鈕。
Dialog小部件添加的關閉按鈕具備類'ui-dialog-titlebar-close',所以在初始調用.dialog()以後,您能夠使用這樣的語句再次刪除關閉按鈕:它能夠工做..
$( 'a.ui-dialog-titlebar-close' ).remove();
如官方頁面所示並由David建議:
建立一個樣式:
.no-close .ui-dialog-titlebar-close { display: none; }
而後,您能夠簡單地將no-close類添加到任何對話框,以隱藏它的關閉按鈕:
$( "#dialog" ).dialog({ dialogClass: "no-close", buttons: [{ text: "OK", click: function() { $( this ).dialog( "close" ); } }] });