Я ткнул и прочитал, что нет способа найти текущую строку в 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
не работает, как если бы я снова и снова нажимал backspace на первую строку, он переходит в отрицательные числа (когда он должен оставаться на уровне 1 [> 0
]). Любая помощь будет принята с благодарностью.
Спасибо! Одна вещь, которую я понял, это, если пользователь говорит, 5 строк, а затем нажимает на строку 3, пока не начнется ввод текста, не будет возможности сказать. Но я думаю, это все, что имеет значение. Еще раз спасибо! –
Чистый и краткий. Я люблю это. К сожалению, метод FF не работает, если вы вставляете текст из другого источника. Попытайтесь попробовать версию Chrome в нескольких браузерах и посмотрите, как она работает сейчас. –
... есть причина, почему вы не считаете '\ n' ..? – nbrogi