我试图用纯JavaScript使HTML文本区域的行为就像是Notepad ++文档一样。 (没有jQuery!)
我目前使用了Stack Exchange代码段,但是它有很多缺陷。我需要它:
这是当前代码:
var textareas = document.getElementsByClassName('fake-text-editor');
var count = textareas.length;
for (var i = 0; i < count; i++)
{
textareas[i].onkeydown = function(e)
{
if (e.keyCode == 9 || e.which == 9)
{
e.preventDefault();
var s = this.selectionStart;
this.value = this.value.substring(0, this.selectionStart) + "\t" + this.value.substring(this.selectionEnd);
this.selectionEnd = s + 1;
}
}
}
我不知道从哪里开始实现上述要求。
在我看来,可能已经有一些项目已经完成了这项工作,以在浏览器中模拟功能强大的Notepad ++文本编辑器。但是,我当然找不到任何这样的项目,而且如果这样做的话,我对开放源代码软件的经验是,几乎不可能找到您感兴趣的实际部分,将其剔除并在您自己的软件中使用。但是,很高兴被证明是错误的。