所以我想知道一个我想要构建的项目,它涉及上传一个.txt文件,该文件将用于自动填充x个文本框,每个文本框140个字符(这意味着如果你上传一个包含500个文件的.txt文件字符,将生成4个文本框,3个充满文本(每个140个字符)和1个将包含80个字符(总计500个)。
我的问题是这些方框每个都用作自己的推文,因此通常情况下,任何方框都不能超过140个字符。但我确实允许用户编辑每个框以使推文有意义。例如:
文本框1:" 您好,我的名字是Marc,我是一名来自英国的21岁网站开发人员。此文字将用作我"的示例。 (正好140个字符,但没有下面的推文没有意义):
文本框2:" 关于Stack Overflow的问题。"
这两条推文都依赖彼此来理解用户不想要的东西。他们更喜欢:
文本框1:" 您好,我的名字是Marc,我是一名来自英国的21岁网站开发人员。"
文本框2:" 此文本将用作我在Stack Overflow上的问题的示例"
你同意的事情更有意义。
但这是由用户自行决定的,这意味着我无法对其进行格式化,以便逐句打破文件。
我的问题是: 如何在关键时刻使用jQuery""根据用户在文本区域中移动文本。如果用户在插入文本块内时按下回车键,我希望下面的所有文本都被推入下面的文本框中,这当然会将该框中的一些文本推送到一个在下面,等等。
我希望这是有道理的,我很难解释这个概念!
提前致谢
编辑:这是我到目前为止所拥有的:
$(document).on('keydown', '.box', function(e){
var len = $(this).val().length;
var val = $(this).val();
var box = $(this);
var elems = $('.box'); //the collection of elements
if(len > 140 && e.which != 8){
var sub = val.substring(140, 1000);
var sub_len = sub.length;
val = val.slice(0, -sub_len);
box.val(val);
if(elems.index(box) + 1 == elems.length){
// if first
$('body').append('<textarea class="box"></textarea>');
}
var next_ele = $(this).parents("body").find(".box");
var next = next_ele.filter(":gt(" + next_ele.index(this) + ")").first();
next.focus();
next.prepend(sub);
} else if(len == 0){
if(e.which == 8){
// backspace
//elems.index(box) + ' ' + elems.length
if(elems.index(box) != 0){
var previous = elems.eq(elems.index(box) - 1);
previous.focus();
if(elems.index(box) + 1 == elems.length){
// lastbox
box.remove();
}
}
}
}
});