<textarea>设置新值时自动重置到顶部</textarea>

时间:2013-04-10 11:48:05

标签: javascript jquery textarea

HTML:

<textarea rows="3" cols="50">
Cake cupcake sesame snaps. Cookie marshmallow bonbon faworki pie caramels. 
Icing tootsie roll jelly-o pudding bear claw. Candy topping fruitcake jelly...
{Type something after this..}
</textarea> 

jQuery:

$('textarea').on("keyup", function(e) {
      var val = $('<div/>').html($(this).val());
      $(this).val(val.text().replace(/'/g,"’"));
});

演示: http://jsfiddle.net/u6PmN/

我有一个固定大小的<textarea>,当我在内容已满后输入并且我使用jQuery替换某些字符串时...

<textarea>重置为顶部

有什么想法吗?


更新:

我喜欢这个

$('textarea').on("keyup", function(e) {
    var oldVal = $(this).val();
    var newVal = $('<div/>').html($(this).val());
    var newVal = newVal.text().replace(/'/g,"’");
    if(oldVal!=newVal) {
      $(this).val(newVal);
    }
});

当值已替换时,只需添加新的替换值

1 个答案:

答案 0 :(得分:0)

我认为你需要在追加字符串时滚动到底部。这是我的代码..

$('textarea').on("keyup", function(e) {
      var val = $('<div/>').html($(this).val());
      $(this).val(val.text().replace(/'/g,"’"));   
$(this).animate({
    scrollTop:$(document).height()
},1000)
});

这里textarea设置为滚动。