javascript - 将输入框调整为内容 onload

标签 javascript jquery html css

尝试让我的输入框 [type='text'] 在页面加载时根据其内容重新调整大小。使用此代码,他们可以有效地调整焦点 的大小。

$(document).ready(function () { $("input[type='text']").bind('focus', function () { $(this).attr("size", $(this).val().length ); }); });

我曾尝试为不同的事件(例如“加载”和“就绪”)交换“焦点”,但无济于事。请记住,我正在寻找轻量级和快速的东西,它将在页面加载时将所有输入 [type='text'] 框的大小调整为它们的内容。

JSFIDDLE


解决方案

我最终使用了 Thom's answer 作为解决方案,但我随后意识到我还希望输入框在输入文本时扩展。所以我结合了我之前的内容和 Thom 的回答来提供这两个功能。我还添加了 css 以确保它不会超出页面大小。这是我的最终代码:

HTML
<input type="text" value="resized onload and when typing"/>

jQuery
$(document).ready(function () { $("input[type='text']" ).each(function( index ) { $(this).attr("size", $(this).val().length + 5 ); }); $("input[type='text']").bind('keyup', function () { $(this).attr("size", $(this).val().length + 5); }); });

CSS
input[type="text"]{ max-width:100%;}

JSFIDDLE

最佳答案

在 dom 就绪时循环遍历它们:

jQuery(document).ready(function($)
{
    $("input[type='text']").each(function()
    {
        $(this).attr("size", $(this).val().length);
    });
});

Fiddle

关于javascript - 将输入框调整为内容 onload,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/30156191/

相关文章:

javascript - 自定义 header 未添加到 Request 对象

javascript - 具有自动转换功能的垂直转盘

javascript - 无法在 GridView 内单击按钮时打开弹出式 div

javascript - 如何将 HTML 元素链接到对象?

javascript - 将数组中对象的属性与另一个数组进行比较

javascript - Facebook 无限循环,setTimeout 没有帮助 =(

javascript - jquery 检查元素不为空更改类

jquery - 如何在 JSF <h :commandLink> or <h:commandButton> action is performed? 之前执行 jQuery click() 事件

php - 外部样式表与包含 php 的样式标签

javascript - 如何非常快速地将像素从 arraybuffer 绘制到 Canvas ?