У меня есть элемент DIV, который имеет <label></label>
и вводит текстовое поле внутри него.
В принципе, я включил jQuery.resizable() в элементе DIV, но когда вы делаете элемент DIV меньше, чем он есть в настоящее время, текстовое поле выводится на новую строку, когда правая сторона DIV начинает касаться текстового поля.
Я пробовал использовать min-width для изменяемого размера и DIV, но его не совсем ожидалось, поскольку значение действительно должно быть размером метки - эта проблема все еще возникает, когда размер DIV затрагивает текстовый файл.
<div id='div1' style='width:300px'>
<label>Test
<input type='text' style='width:100px' id='inputBox'/>
</label>
</div>
$("#div1").resizable({
handles: "e, w, sw, ne, nw, se"
});
У меня также есть это, но когда сторона DIV догоняет, а "правая" сторона DIV касается текстового поля, она затем перемещает ее в новую строку под меткой... Я хочу продолжить изменение размера текстового поля, но не останавливать его новая строка:
$(".ui-resizable-e")
.mousedown(function() {
$(window).mousemove(function() {
isDragging = true;
$(window).unbind("mousemove");
var width = $('#inputBox').width();
var parentWidth = $("#div1").offsetParent().width();
var percent = 100*width/parentWidth+50;
$("#inputBox").css({'width': percent + '%'});
});
});
Сначала, чтобы ответить на ваш вопрос, вы можете использовать следующее, чтобы предотвратить упаковку:
white-space:nowrap;
Однако, я думаю, вы пытаетесь создать горизонтальное повторно отображаемое текстовое поле? Будет ли следующая работа для вас? Добавляя дополнительный CSS, он изменяет размер текстового поля, не отбрасывая его на следующую строку.
Извините, если я неправильно понял ваш запрос.
HTML:
<div id='div1' style='width:300px; border: 1px solid black; white-space:nowrap; padding-right: 50px;'>
<label>Test
<input type='text' style='width:100%;' id='inputBox'/>
</label>
</div>
JSFiddle: http://jsfiddle.net/9xrP6/