Javascript:如何将最后两个字符输入textarea?

时间:2011-03-28 19:33:44

标签: javascript jquery string textarea

获取输入textarea框的最后两个字符的最佳方法是什么?

我需要输入最后两个字符,而不是整个字符串的最后两个字符。

感谢您的帮助!

2 个答案:

答案 0 :(得分:6)

您需要捕获textarea上的keypress事件,然后记录按下的键。请注意,这将捕获箭头键,shift,alt等,所以如果你只想要字符,你需要将它们过滤掉。

简单示例:

var keyPresses = [];
textarea.onkeypress = function(ev){
   ev = ev || window.event;

   var key = ev.keyCode || ev.which;
   keyPresses.push(key);
}

答案 1 :(得分:2)

以下是使用jQuery进行演示的演示,同时显示输入的最后两个字符:http://jsfiddle.net/Ender/5gUHb/

来源:

var keys = [];
$('#target').keypress(function(e) {
    keys.unshift(e.which);
    update();
});

function update() {
       $('#last')
           .prepend($('<li/>').text(String.fromCharCode(keys[0])))
           .children(':eq(2)').remove();
}

此演示捕获文本区域上的按键事件,将值移至数组上(因为索引代表自按下该键以来按下的键数),然后更新显示。

显示更新只是将数组中的第一个值推送到<ul>的顶部,并删除列表中索引2处的子项(如果有)。

另外请注意,由于jQuery处理.keypress()的方式,您不必过滤掉修饰符或箭头键。

<强>更新 请参阅Tim Down对我的回答的评论,以解释应该进行哪些过滤。根据Chrome中的快速测试,我最初的注意事项是错误的。