当您在文本框中键入时,移动默认文本以及键入的文本

时间:2013-08-09 17:52:21

标签: javascript jquery

默认文字是“移动”

-------------------------------------
|Move                                |
|                                    |
|                                    |
-------------------------------------

-------------------------------------
|W Move                              |
|                                    |
|                                    |
-------------------------------------

-------------------------------------
|Wo Move                             |
|                                    |
|                                    |
-------------------------------------

-------------------------------------
|Wow Move                            |
|                                    |
|                                    |
-------------------------------------

当我开始输入字母“w”“o”“w”默认文本“移动”向右移动,因为新字母附加到文本框。

我搜索了一段时间,但没有得到任何正确的指针来实现这一目标。希望得到某人能指出我正确的方向。

这是我到目前为止的jsfiddle页面,http://jsfiddle.net/jsnewbie/xmtFM/2/

感谢您的帮助。

2 个答案:

答案 0 :(得分:1)

不确定为什么需要JavaScript才能完成此任务?如果有人只是在单词Move之前单击框中,则文本框的默认功能将完全符合您的要求。

答案 1 :(得分:1)

修改

Backspace并有点响应,如@KevinB建议

var store = $('textarea').val();
console.log(store);
var newVal = [];
$("textarea").focus(function () {
    console.log(store);
}).keydown(function (e) {
    var self = this;
    setTimeout(function () {
        if (e.keyCode !== 8) {
            var curr = String.fromCharCode(e.keyCode);
            newVal.push(curr);
            console.log(newVal + store);
        } else { // Backspace
            e.preventDefault();
            if (newVal.length > 0) newVal.pop();
        }
        $(self).val(newVal.join('') + " " + store);
    }, 20);
});

<强> Check Fiddle