3
我捅了一下,发现没有办法在div contenteditable
中找到当前行,所以我正在尝试编写一个脚本来最好地估计当前行。获取contenteditable div的当前行吗?
var curLine = 1;
var curColumn = 1;
$(".editable").onkeydown = function(e) {
var keyCode = e.keyCode || e.which;
switch(keyCode) {
case 13:
console.log("Enter; on line: " + curLine);
curLine++;
break;
case 8:
if(/* current line has a text length of 0 */) {
console.log("Previous line prepended; previous enter reversed; on line: " + curLine);
do {
curLine--;
} while(curLine > 0);
}
// } else if(/* single digit removed */) {
// console.log("Bit prepended");
// }
break;
}
};
所以,你可以看到,我有几个问题。这个位:if(/* current line has a text length of 0 */)
我似乎无法定位当前行,并查看它的字符串长度是否为0.同样,我的do...while
语句不起作用,就好像我一遍又一遍地在第一行上退格,它会变成负数(当它应该停留在1 [> 0
])。任何帮助将不胜感激。
谢谢!然而,我意识到的一件事是,如果用户说5行,然后点击3行,那么在用户开始输入之前无法分辨。但我想这就是关键。再次感谢! –
干净简洁。我喜欢它。不幸的是,如果您粘贴来自其他来源的文本,则FF方法不起作用。试着在多个浏览器上试用Chrome版本,并了解它现在的工作原理。 –
...有没有理由不计算'\ n' ..? – nbrogi