Следующий Fiddle позволяет вставить текст в <textarea>
и сгенерирован в равные абзацы динамически <p>
состоящий из того же количества символов.
Возникает проблема; текст из предыдущих динамически сгенерированных абзацев <p>
переполняется в каждом теге и не переходит к следующему динамическому абзацу. Таким образом, можно ли пользователю нажать ввод и переместить этот контент вниз в следующий существующий абзац, сохраняя при этом существующее форматирование динамически и автоматически?
Если бы был предоставлен новый Fiddle, это было бы очень признательно, поскольку я все еще новичок в кодировании. Еще раз, Fiddle можно найти здесь.
Обновление: Возможно ли, как только будут созданы абзацы, чтобы пользователь нажал кнопку ввода и, если возможно, легко переместил свой контент в нижний абзац? А также для того, чтобы применить, когда нажата кнопка backspace, чтобы содержимое переместилось вверх в вышеприведенный абзац? Возникающая проблема заключается в том, что текст при нажатии enter, кажется, скрывает текст из-за свойства переполнения в css.
$(function() {
$("#Go").on('click', function() {
var theText = $('textarea').val();
var numberOfCharacters = 300;
while (theText.length) {
while (theText.length > numberOfCharacters &&
theText.charAt(numberOfCharacters) !== ' ') {
numberOfCharacters++;
}
$("#text_land").append("<br><\/br><p>" + theText.substring(
0, numberOfCharacters) +
"<\/p><br><\/br>");
theText = theText.substring(numberOfCharacters);
numberOfCharacters = 300;
$('p').attr('contenteditable', 'true');
$("p").addClass("text");
}
})
})
$('select').on('change', function() {
var targets = $('#text_land p'),
property = this.dataset.property;
targets.css(property, this.value);
}).prop('selectedIndex', 0);
(end);
@media print {
p {
page-break-inside: avoid;
}
}
p {
position: relative;
}
@media print {
.no-print,.no-print * {
display: none !important;
}
}
p {
border-style: solid;
color: #000;
display: block;
text-align: justify;
border-width: 5px;
font-size: 19px;
overflow: hidden;
height: 300px;
width: 460px;
word-wrap: break-word;
}
<script src="https://ajax.googleapis.com/ajax/libs/jquery/2.1.1/jquery.min.js"></script>
<div align="center">
<h4 align="center"><u>Paste text in the field below to divide text into
paragraphs.</u></h4><br>
<br>
<textarea placeholder="Type text here, then press the button below." cols="50" id="textarea1" rows="10">
</textarea><br>
<br>
<button id="Go">Divide Text into Paragraphs!</button>
</div>
<hr>
<h2 align="center">Divided Text Will Appear Below:</h2>
<div>
<div align="center" id="text_land" style="font-family: monospace">
</div>
</div>