如何调整jQuery文本框自动扩展插件

如何调整jQuery文本框自动扩展插件,jquery,textbox,Jquery,Textbox,我在上找到了一个jQuery插件,它可以在用户从文本输入中粘贴/删除数据时自动扩展/收缩文本框。在我尝试将大量文本粘贴到它之前,它工作得很好。那它就不会膨胀了。但是,如果我继续键入字符,或者即使粘贴少量文本,它也可以正常工作。有谁能告诉我,即使粘贴了一大块数据,如何调整它以使其同时扩展?您的问题在于插件处理最大宽度的方式 如果单个操作(例如粘贴)导致元素的宽度超过最大值,插件不会将宽度扩展到最大值,而是保持原样 为了解决这个问题,我修改了代码,以便在计算新宽度时考虑最大宽度: // Calcul

我在上找到了一个jQuery插件,它可以在用户从文本输入中粘贴/删除数据时自动扩展/收缩文本框。在我尝试将大量文本粘贴到它之前,它工作得很好。那它就不会膨胀了。但是,如果我继续键入字符,或者即使粘贴少量文本,它也可以正常工作。有谁能告诉我,即使粘贴了一大块数据,如何调整它以使其同时扩展?

您的问题在于插件处理最大宽度的方式

如果单个操作(例如粘贴)导致元素的宽度超过最大值,插件不会将宽度扩展到最大值,而是保持原样

为了解决这个问题,我修改了代码,以便在计算新宽度时考虑最大宽度:

// Calculate new width + whether to change
var testerWidth = testSubject.width(),
    newWidth = Math.min((testerWidth + o.comfortZone) >= minWidth
        ? testerWidth + o.comfortZone : minWidth, o.maxWidth - 1);

您将发现一个更新的jsbin。

您的问题是由于插件处理最大宽度的方式造成的

如果单个操作(例如粘贴)导致元素的宽度超过最大值,插件不会将宽度扩展到最大值,而是保持原样

为了解决这个问题,我修改了代码,以便在计算新宽度时考虑最大宽度:

// Calculate new width + whether to change
var testerWidth = testSubject.width(),
    newWidth = Math.min((testerWidth + o.comfortZone) >= minWidth
        ? testerWidth + o.comfortZone : minWidth, o.maxWidth - 1);
您将发现一个更新的jsbin