这是我的解决方案:
而不是使用key-up
事件使用模糊,以便当第二个文本框失去焦点时,您可以获得理想的结果:
声明一个全局变量txt
,然后在第一个文本框模糊事件上为其赋值,同时在模糊(焦点丢失)事件上附加第二个文本框的值。
key-up
对您不起作用的原因是,最终您将需要从两个文本框中附加文本,而第一个文本框可以正常工作,但第二个文本框的按键将不断在每个文本框上附加文本带有换行符的键。
如果按键事件对您来说不是最重要的事情,那么这样的事情对您有用:
var txt ='';
$('#name').blur(function () {
if ($('#field').val().length > 0){
txt = $(this).val() + '\n' + $('#field').val();
} else {
txt = $('#name').val();
}
$('#fname').text(txt);
});
$('#field').blur(function () {
txt = '';
txt = $('#name').val() + '\n' + $(this).val();
$('.sname').text(txt);
});
工作小提琴:http: //jsfiddle.net/5xHyY/
更新
现在更加同步了。基本上一秒钟的文本框模糊清除 txt 变量并再次分配值。检查还包括第一个文本框模糊。更新了 jsfiddle:http: //jsfiddle.net/5xHyY/4/
如果您仍然希望整个过程基于按键向上/向下事件。您将不得不使用多个DIVs
而不是单个TextArea