Проверьте диалог jQuery вручную, если необходим изменение изменений

StackOverflow https://stackoverflow.com/questions/4076256

  •  28-09-2019
  •  | 
  •  

Вопрос

У меня есть диалог jQuery, который загружает свой контент через ajax после его открытия.

Видеть это Jsfiddle. (Содержание не загружено через AJAX, но добавлено после открытия, что достаточно, чтобы продемонстрировать мою проблему).

HTML:

<div id="test">test</div>

JS:

$("#test").dialog({
    minHeight:100,
    maxHeight:200,
    width:300,
    open: function(){
        $(this).html("test<br /><br />test<br />" +
                     "<br />test<br /><br />test" +
                     "<br /><br />test<br /><br />" +
                     "test<br /><br />test<br />" +
                     "<br />test<br /><br />test");
    }
});

Когда он открыт, он не остается верным его maxHeight пока вы не измените размер диалога. Есть ли какой-то resize Метод я могу позвонить после добавления контента в диалог?

Я предпочитаю не иметь вручную выяснить, если необходим размер изменения изменений и насколько высоко его в значительной степени уже встроен в плагин UI.

Это было полезно?

Решение 2

Jsfiddle. пример.

Не именно элегантное решение я надеялся, но до сих пор это кажется.

Если у кого-нибудь есть лучшее решение, я буду рад слышать это.

Другие советы

Поместите HTML-код в фактический div на webapge, затем используйте диалоговое окно в этом div. Или изменить высоту (и другие варианты) после init ... из jquery docs. :

//getter
var width = $( ".selector" ).dialog( "option", "height" );
//setter
$( ".selector" ).dialog( "option", "height", 460 );

Установка Maxheight в открытой функции, похоже, делает трюк:

$("#test").dialog({
    minHeight:100,
    width:300,
    open: function(){
        $(this).html("test<br /><br />test<br /><br />test<br /><br />test<br /><br />test<br /><br />test<br /><br />test<br /><br />test<br /><br />test");
        $(this).parent().css("height", "auto");
        $(this).css("maxHeight", 200);
    }
});

Редактировать: оно появляется, когда «тест» используется в качестве диалогового окна, он вложен в диалоговое окно Div наряду с заголовком Div. В результате как тестовый Div, так и его содержащие DIV должны иметь свои высоты, установленные с содержащимся DIV, принимая во внимание высоту диалогового заголовка Div. Установка его высоты к авто должен заботиться об этом.

Лицензировано под: CC-BY-SA с атрибуция
Не связан с StackOverflow
scroll top