如何使用Javascript获取textarea中键入字母的位置?

时间:2015-05-26 01:46:33

标签: javascript jquery

我在输入textarea时创建一个下拉列表。如何在键盘事件中获得打字信件的位置?

2 个答案:

答案 0 :(得分:1)

var oldValue = '';
var keyup = function() {
    var value = document.getElementById('myTextArea').value;
    for(var i=0; i<value.length; i++) {
        if(i >= oldValue.length) {
            // letter typed at end
            oldValue = value;
            return; // not really necessary since we should be at the end of the loop anyway
        } else if(value.charAt(i) !== oldValue.charAt(i)) {
            // letter typed at i
            oldValue = value;
            return; // no need to keep searching
        }
    }
    // no new letters typed
}

答案 1 :(得分:1)

格雷格的答案似乎有效。但是如果你想要一种更简单的方法来获取它,你可以访问textarea的selectionStart属性。

例如

var myTextArea = $("#mytextarea");

myTextArea.keyup(function () {

   console.log("The last typed character is at: ", myTextArea.get(0).selectionStart - 1);

});

http://jsfiddle.net/wasjdhtu/