我查阅了资料,并了解到在div contenteditable
中没有找到当前行的方法,因此我正在尝试编写一个脚本以最佳估计当前行。
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( /* 当前行的文本长度为0 */ )
我似乎无法针对当前行并检查其字符串长度是否为0。此外,我的do...while
语句不起作用,如果我一遍又一遍地在第一行上按退格键,它会变成负数(当应该保持在1 [> 0
])。非常感谢任何帮助。
\n
的原因是什么? - nkkollawkeyup
,并且这并没有回答如何获取当前行号。 - vladkras