javascript - 以编程方式添加项目时,Jquery textarea autogrow 不起作用

标签 javascript jquery jquery-plugins

我试过了 http://www.technoreply.com/autogrow-textarea-plugin-version-2-0/https://gist.github.com/802204#file_live_sample.js

TextArea 的自动增长,如果您使用键盘添加项目,它们工作得很好,但如果您以编程方式添加项目(比如每秒 1 个新项目),它们不会自动增长。

任何人都知道如何或在哪里可以找到一个 autogro textarea,如果我以编程方式添加新项目,它会自动增长? (例如 $('#txtUDSMessagesNotHandled').val($('#textarea').val()+'new text + '\n');

提前致谢。吉列尔莫。

最佳答案

live-sample.js ,我们看到了:

$('.js-auto-grow').live('keyup keydown change', function(evt) {

所以这个插件绑定(bind)了三个事件。你关心的是change .问题是,当你说 $('#x').val('pancakes') , change事件未被触发。玩这个:

http://jsfiddle.net/ambiguous/FPB4q/1/

你会看到的。或者,来自 fine manual :

change
The change event occurs when a control loses the input focus and its value has been modified since gaining focus. This event is valid for INPUT, SELECT, and TEXTAREA. element.

当您简单地调用 $x.val('pancakes') 时, 没有发生焦点变化,所以没有 change事件被触发。

您需要做的就是自己触发事件:

$('#txtUDSMessagesNotHandled')
    .val($('#textarea').val()+'new text + '\n')
    .change();

然后它应该可以正常工作。

另请注意,该插件需要 <textarea>两者都有 rowcolumn属性,否则将不起作用。这是它的工作演示:

http://jsfiddle.net/ambiguous/Sr5gm/

关于javascript - 以编程方式添加项目时,Jquery textarea autogrow 不起作用,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/6936011/

相关文章:

javascript - 为什么读不到 '.appendChild'?页面怎么可能是未定义的?

javascript - jQuery 移动插件弹出支持

jquery - 扩展 jQueryUI 小部件而不发生冲突

javascript - 如何使用 require.js 来管理 Django 项目中的 JavaScript 依赖项?

javascript - 在 React 中解析 JSON 输入时出错

javascript - 延迟显示 "no Javascript"警告?

jQuery 从每个循环中获取数据并存储在全局变量中

jquery - window.location 的 .NET MVC jQuery 相对路径

javascript - 使用 JavaScript/jQuery 预加载图像的最佳方式是什么?

javascript - 在单击函数条件语句中调用时,函数值未定义