Во время записи большинство браузеров возвращали свойства в том же порядке, в каком они были вставлены, но это явно не гарантированное поведение, поэтому на него не следует полагаться.
Спецификация ECMAScript говорила:
Механика и порядок перечисления свойств ... не указаны.
blockquote>Однако в ES2015 и более поздние нецелые ключи будут возвращены в порядке вставки.
Я обнаружил, что в конце концов это сработало (обратите внимание на третью строку, отменяющую функцию открытия, которая находит кнопку и скрывает ее):
$("#div2").dialog({
closeOnEscape: false,
open: function(event, ui) {
$(".ui-dialog-titlebar-close", ui.dialog || ui).hide();
}
});
Чтобы скрыть кнопку закрытия во всех диалоговых окнах, вы можете использовать также следующий CSS:
.ui-dialog-titlebar-close {
visibility: hidden;
}
Вы можете использовать CSS, чтобы скрыть кнопку закрытия вместо JavaScript:
.ui-dialog-titlebar-close{
display: none;
}
Если вы не хотите влияет на все модальные окна, вы можете использовать правило вроде
.hide-close-btn .ui-dialog-titlebar-close{
display: none;
}
И применить .hide-close-btn
к верхнему узлу диалогового окна
"лучший" ответ не подходит для нескольких диалогов. вот лучшее решение.
open: function(event, ui) {
//hide close button.
$(this).parent().children().children('.ui-dialog-titlebar-close').hide();
},
I catch the close event of the dialog box. This code then removes the #dhx_combo_list
):
open: function(event, ui) {
//hide close button.
$(this).parent().children().children('.ui-dialog-titlebar-close').click(function(){
$("#dhx_combo_list").remove();
});
},
$("#div2").dialog({
closeOnEscape: false,
open: function(event, ui) { $('#div2').parent().find('a.ui-dialog-titlebar-close').hide();}
});