#jquery #asp.net #html #resize #dimensions
#jquery #asp.net #HTML #изменить размер #размеры
Вопрос:
У меня есть элемент div, который можно перетаскивать, и у меня есть текстовое поле внутри этого элемента div, и когда я автоматически перетаскиваю элемент div, размер текстового поля должен увеличиваться вместе с div.И мне нужно получить позиции текстового поля X и Y, так как мне это сделать?
Это то, что у меня есть сейчас:
Вот мой ode:
<div class="demo">
<asp:TextBox ID="TextBox1" runat="server" TextMode="MultiLine"></asp:TextBox>
</div>
Это мой скрипт для перетаскивания:
<script>
$(function () {
$('.demo')
.draggable()
.resizable();
});
</script>
Комментарии:
1. JSFiddle — отличный инструмент, но обычно рекомендуется вставить соответствующий код в свой вопрос, чтобы, если ваша внешняя ссылка станет недоступной позже, будущие посетители все равно могли получить некоторое представление как о проблеме, так и о решении.
2. Возможно, вы сможете решить эту проблему, посмотрев на пользовательский интерфейс jQuery.
3. @ Kiley Naro Да, я так и думал, но это будет ясно для того, кто лучше понимает, чем то, что я упоминаю здесь. В любом случае я обновил свой код.
4. @user944919 Редактирование, которое вы только что сделали, отличное. Таким образом, SO не нужно полагаться на JSFiddle для завершения! В любом случае, 1, потому что это то, что мне тоже интересно.
5. Большое вам спасибо:) и я слишком горю желанием разработать что-то очень интересное и многому научиться у вас.
Ответ №1:
A textarea
должно быть указано в терминах строк и столбцов, в соответствии со спецификациями, но вы все равно можете стилизовать их с помощью CSS:
#TextBox1
{
width: 100%; height: 100%; /* make the element resize */
}
.demo
{
width: 150px;
height: 150px;
padding: 5px 10px 20px 4px; /* updated padding to make things look better */
background-color: #ff8811;
position: absolute;
top: 150px;
left: 300px;
}
Смотрите здесь. Протестировано в Firefox, Chrome.
Кроме того, если вам нужно получить координаты X и Y, у draggable есть stop
метод, к которому вы можете привязаться:
$('.demo')
.draggable({ stop: function(event, ui) {
//get the textarea element and it's coordinates
var txt = $(this).find('textarea:first');
var x = txt.offset().left;
var y = txt.offset().top;
alert('(' x ', ' y ')');
} })
.resizable();
Комментарии:
1. Обновил мой ответ, чтобы также отрегулировать высоту.
Ответ №2:
Это то, что вы хотите?
Редактировать:
http://jsfiddle.net/gmrcn/2/
#TextBox1 {
width: 100%;
height: 100%; /* edit: fixed @ comment */
}
Комментарии:
1. Да, то же самое, что было сделано выше с помощью «wsanville», и мне тоже нужно увеличить его высоту. В любом случае спасибо за ответ.
2. Еще раз спасибо и как я получаю размеры (т.Е. Позиции X и Y) для текстового поля?
3. Я точно не знаю. Попробуйте
$('.demo').style.pixelHeight;
и$('.demo').style.pixelWidth;