0
我试图在html textarea中实现代码片段。你写一个特定的单词,它会查看关键值对象并扩展文本(如果存在)。这是我做了什么:在textarea中实现代码片段
var textarea = document.getElementById("whatever");
var snippets = {
'hello': 'Hello and welcome to my great site'
}
var prepend = "";
var checkCaps = function(e){
if (e.keyCode != 9) return;
e.preventDefault();
var string = "";
var pos = textarea.selectionStart;
var text = textarea.value.split("");
while (pos) {
char = text.pop(pos);
prepend = (char == " ") ? " ": "";
if (char == " ") break;
string += char
pos -= 1;
}
if (snippets[string.reverse()]) {
textarea.value = text.join("")
textarea.value += prepend + snippets[string.reverse()]
}
}
textarea.addEventListener("keydown", checkCaps, false);
String.prototype.reverse=function(){return this.split("").reverse().join("");}
的问题是,该代码段只适用于文本区域的value
的最后一个字,我似乎无法找出问题的所在。
啊,就是这样!非常感谢。 – Duopixel