Как удалить кнопку закрытия (X в правом верхнем углу) в диалоговом окне, созданном jQuery UI?Как удалить кнопку закрытия в диалоговом окне интерфейса jQuery?
ответ
я нашел это работало в конце (обратите внимание на третью строку переопределяет открытую функцию, которая найти кнопку и скрывающую ее):
$("#div2").dialog({
closeOnEscape: false,
open: function(event, ui) {
$(".ui-dialog-titlebar-close", ui.dialog | ui).hide();
}
});
Чтобы скрыть кнопку закрытия на всех диалогах вы можете использовать следующий CSS тоже:
.ui-dialog-titlebar-close {
visibility: hidden;
}
'$ (". Ui-dialog-titlebar-close ", ui) .hide();' чтобы скрыть кнопку только для ** этого ** диалога. –
@ Джонхен, вы используете его в контексте ответа Роберта выше? Он должен работать, поскольку 'ui' определяется как аргумент функции. См. Также http://api.jquery.com/jQuery/#jQuery1 –
Я не мог заставить его работать с параметром ui. Я закончил использование: $ (". Ui-dialog-titlebar-close", $ (this) .parent()). Hide(); – Nigel
Вы можете использовать CSS, чтобы скрыть кнопку закрытия вместо JavaScript:
.ui-dialog-titlebar-close{
display: none;
}
Этот ответ был простым и понятным.Он применяется, однако, только в том случае, если вы хотите отключить кнопку для всех диалогов. –
«лучший» ответ не подходит для нескольких диалогов. вот лучшее решение.
open: function(event, ui) {
//hide close button.
$(this).parent().children().children('.ui-dialog-titlebar-close').hide();
},
Это сложнее, чем вам нужно. '$ (". ui-dialog-titlebar-close ", $ (this) .parent()). hide();' –
@KevinPanko Ваше предложение хорошо работает при использовании примера, представленного демонстрационным сайтом jquery ui с ASP. NET v2.0 на странице .aspx. http://jqueryui.com/demos/dialog/modal-form.html –
.closest ('. ui-dialog') лучше, чем предполагать родителя. – technomage
open: function(event, ui) {
//hide close button.
$(this).parent().children().children('.ui-dialog-titlebar-close').click(function(){
$("#dhx_combo_list").remove();
});
},
yaaaay! Это действительно работает! Я поймаю событие закрытия диалогового окна. В приведенном выше коде он удаляет div (#dhx_combo_list).
Отлично, спасибо всем!
$("#div2").dialog({
closeOnEscape: false,
open: function(event, ui) { $('#div2').parent().find('a.ui-dialog-titlebar-close').hide();}
});
Я думаю, что это лучше.
open: function(event, ui) {
$(this).closest('.ui-dialog').find('.ui-dialog-titlebar-close').hide();
}
Проблема в том, что она иногда прячет кнопку для других диалогов. как это предотвратить. –
Использование open: function (event, ui) { $ (this) .closest ('. Ui-dialog'). Find ('. Ui-dialog-titlebar-close'). Show(); } не работает. –
Лучший способ скрыть кнопку, чтобы отфильтровать его с его атрибуты значка данные:
$('#dialog-id [data-icon="delete"]').hide();
Вот еще один вариант, только с помощью CSS, который не более чем ездить каждый диалог на этой странице.
CSS-
.no-close .ui-dialog-titlebar-close {display: none }
HTML-
<div class="selector" title="No close button">
This is a test without a close button
</div>
Javascript.
$(".selector").dialog({ dialogClass: 'no-close' });
Мне нравится этот подход, потому что я могу использовать его рядом с такими вещами, как: .noTitleDlg .ui-dialog-titlebar {display: none} в CSS, чтобы создать способ, которым я хочу, чтобы мой диалог отображался и вел себя, а затем просто установите dialogClass соответственно , –
очень чистое решение ... +1 за отсутствие дополнительных функций js для удаления кнопки. – Bongs
Отличная идея.Пригодится, чтобы настроить таргетинг на конкретный диалог в ситуациях, когда вы используете один и тот же открытый метод для всех диалогов, и это не очень удобно изменить его для конкретного экземпляра. – ZolaKt
http://jsfiddle.net/marcosfromero/aWyNn/
$('#yourdiv'). // Get your box ...
dialog(). // ... and turn it into dialog (autoOpen: false also works)
prev('.ui-dialog-titlebar'). // Get title bar,...
find('a'). // ... then get the X close button ...
hide(); // ... and hide it
Для деактивации класса, короткого кода:
$(".ui-dialog-titlebar-close").hide();
могут быть использованы.
Ничего из перечисленного не работает. Решение, которое действительно работает, это:
Проверьте, не работает ли он на вас.
После того, как вы назвали .dialog()
на элемент, вы можете найти кнопку закрытия (и другой диалог разметки) в любое удобное время без использования обработчиков событий:
$("#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
относится к элементу, «dialogged» и $(this).parent()
относится к диалоговому контейнера разметки, так что:
$("#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
}
});
FYI, диалог разметки выглядит следующим образом: ответ
<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>
Роберта Маклина не работает для меня.
Однако это работает для меня:
$("#div").dialog({
open: function() { $(".ui-dialog-titlebar-close").hide(); }
});
Вы также можете удалить строку заголовка:
<div data-role="header">...</div>
, который удаляет кнопку закрытия.
Кнопка закрытия, добавленная виджетами Dialog, имеет класс «ui-dialog-titlebar-close», поэтому после вашего первоначального вызова .dialog() вы можете использовать оператор, подобный этому, для повторного удаления кнопки закрытия: Он работает ..
$('a.ui-dialog-titlebar-close').remove();
Как показано на официальном page и предложил Давиду:
Создание стиля:
.no-close .ui-dialog-titlebar-close {
display: none;
}
Тогда вы можете просто добавить не-близко класс к любому диалогу, чтобы скрыть это кнопка закрытия:
$("#dialog").dialog({
dialogClass: "no-close",
buttons: [{
text: "OK",
click: function() {
$(this).dialog("close");
}
}]
});
Ницца .... Работает. – MarcoZen
$(".ui-button-icon-only").hide();
Вы должны иметь возможность использовать прямой CSS здесь вместо JS, если вы только скрываете значок. Все '.hide()' does устанавливается 'display: none' в CSS, поэтому' $ (". Ui-button-icon-only"). Hide(); 'функционально эквивалентно' .ui-button-icon -одно {display: none; } '. – KyleMit
document.querySelector('.ui-dialog-titlebar-close').style.display = 'none'
Вы можете удалить кнопку закрытия на код ниже. Есть и другие варианты, которые вы могли бы использовать.
$('#dialog-modal').dialog({
//To hide the Close 'X' button
"closeX": false,
//To disable closing the pop up on escape
"closeOnEscape": false,
//To allow background scrolling
"allowScrolling": true
})
//To remove the whole title bar
.siblings('.ui-dialog-titlebar').remove();
Так как я обнаружил, что я делал это в нескольких местах в моем приложении, я завернул его в плагин:
(function ($) {
$.fn.dialogNoClose = function() {
return this.each(function() {
// hide the close button and prevent ESC key from closing
$(this).closest(".ui-dialog").find(".ui-dialog-titlebar-close").hide();
$(this).dialog("option", "closeOnEscape", false);
});
};
})(jQuery)
Пример использования:
$("#dialog").dialog({ /* lots of options */ }).dialogNoClose();
- 1. Как удалить кнопку закрытия в диалоговом окне?
- 2. Postback в диалоговом окне пользовательского интерфейса jQuery
- 3. Как удалить фокус на клавишу табуляции Нажмите кнопку закрытия в диалоговом окне jquery
- 4. Как заново включить кнопку закрытия в диалоговом окне qt
- 5. Как удалить выбранные элементы/текст в диалоговом окне закрытия?
- 6. Отключить кнопку закрытия в java-диалоговом окне JFace?
- 7. удалить крест в диалоговом окне jquery
- 8. Отключить кнопку Закрыть в диалоговом окне Matlab
- 9. Удалить добавленный элемент в диалоговом окне закрыть
- 10. Настроить jquery mobile закрыть кнопку в диалоговом окне selecmenu
- 11. Удалить дубликаты продуктов в диалоговом окне jQuery
- 12. Как закрыть диалог jQuery в диалоговом окне?
- 13. Как удалить кнопку «ОК»/«Отмена» в диалоговом окне оповещений
- 14. Как PHP_SELF в диалоговом окне пользовательского интерфейса?
- 15. Как скрыть кнопку закрытия в окне MahApps.Metro?
- 16. Как удалить верхнюю правую кнопку закрытия
- 17. JQuery в диалоговом окне
- 18. Как настроить таргетинг на кнопку закрытия в окне диалогового окна?
- 19. Как получить ajax в диалоговом окне интерфейса jQuery?
- 20. Как получить доступ к элементам в диалоговом окне интерфейса jQuery?
- 21. Как установить защитную оболочку в диалоговом окне пользовательского интерфейса jQuery?
- 22. Как обновить измененные кнопки в диалоговом окне интерфейса jQuery?
- 23. размещение jQuery UI Accordion в диалоговом окне пользовательского интерфейса jQuery
- 24. Как сделать кнопку переключателя в диалоговом окне
- 25. Загрузка файлов не работает в диалоговом окне пользовательского интерфейса jQuery
- 26. Кнопка изменения в диалоговом окне jQuery
- 27. Как отключить кнопку в диалоговом окне JQuery UI?
- 28. Как отключить кнопку в диалоговом окне jQuery из функции?
- 29. Отображение скрытого html в диалоговом окне пользовательского интерфейса jQuery
- 30. Как скрыть кнопку закрытия в окне WPF?
Проверьте документацию, первый суб -title: http://api.jqueryui.com/dialog/ –
@MikeCole Документация для 1.10 - я думаю, если вы хотите скрыть кнопку закрытия в любых более низких версиях, вам нужно будет сделать что-то вроде ответов ниже. – Jarrett
Используйте «ui-dialog-titlebar-close»: «display: none;» когда мы настраиваем модальный диалог jqueryui – MarcoZen