jak*_*ake 6 html jquery keypress
在用户键入一定数量的字符后,我使用下面的简单代码将textbox(<input type=text />)替换为<textarea>元素.在下面的示例中,这发生在第10个字符之后.该代码有效,但<textarea>省略了用户键入的第10个字符的内容.例如,如果在文本框中键入"testing 1234",则textarea将省略"4".有任何想法吗?谢谢.--Jake
$('.info').keypress(function() {
var count = $(this).val().length;
if (count > 10)
{
var contents = $(this).val();
$(this).after('<textarea></textarea>').next().val(contents).end().remove()
}
})
Run Code Online (Sandbox Code Playgroud)
更新:我尝试了许多人分享的建议:使用keyup事件.它有效,但只有你慢慢输入.如果你是一个快速的typer,就像我怀疑这里的大多数人一样,使用keyup事件时仍然会省略第10个字符.
Nei*_*eil 15
也许你应该从一开始就使用textarea,只增加"rows"属性.我愿意打赌你在改变后维护你所有的角色,它的行为就像一个行="1"的文本框.
$('.info').keypress(function() {
var count = this.value.length;
if (this.rows == 1 && count > 10)
{
this.rows = 4; // Or whatever you'd prefer.
}
});
Run Code Online (Sandbox Code Playgroud)
| 归档时间: |
|
| 查看次数: |
2585 次 |
| 最近记录: |