javascript - 如何通过 javascript 双击增加文本区域的大小?

标签 javascript forms textarea

我试图在我的表单中创建一个触发器,这样如果有人双击文本区域的空白部分,它就会增加高度。我正在尝试下面的代码,但它不起作用。 我错过了什么?

HTML

<div id="div_details" class="fields">
<label id="label_details" for="input_details" >Details</label><br/>
<textarea id="input_details" class="" name="details" disabled="disabled" >Customer can look more.</textarea>

JavaScript

$('#input_details').dblclick(function(){
    $('#input_details').animate({height: '+=50'}, 500);
});

jsfiddle

最佳答案

问题是禁用的表单元素不会触发鼠标事件。 如果您的代码应用于未处于禁用状态的文本区域,则该代码将有效。

一种可能的解决方案是将文本区域包围在容器中,您可以为其设置动画,并将文本区域设置为填充容器。

一个例子:

$('.container').dblclick(function(){
    $('.container').animate({height: '+=50'}, 500);
});
.container{
  height:100px;
}

#input_details{
  height:100%;
}
<script src="https://ajax.googleapis.com/ajax/libs/jquery/2.1.1/jquery.min.js"></script>
<div id="div_details" class="fields">
<label id="label_details" for="input_details" >Details</label><br/>
<div class="container">
  <textarea id="input_details" class="" name="details" disabled="disabled" >Customer can look more.</textarea>
</div>

关于javascript - 如何通过 javascript 双击增加文本区域的大小?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/36089080/

相关文章:

javascript - Next.js 中的 Trustpilot TrustBox

html - 对齐表单域

javascript - 如何在文本区域中显示粗体文本?

php::textarea中的新行?

javascript - AngularJS:模板添加的 ng-click 不会触发

javascript - Karma 无法读取未定义的 socket.io 的属性 'prototype'?

javascript - 加载后如何在网站背景中绘制网格线?

每个文本输入字段内的 jQuery 清除按钮

php - html 中的表单没有重定向到 php

html - 为文本区域对象中的每一行添加边框