Javascript 输入时仅获取新的输入值
我有一个文本输入,在那里我得到输入并使用它。我有:Javascript 输入时仅获取新的输入值,javascript,jquery,html,Javascript,Jquery,Html,我有一个文本输入,在那里我得到输入并使用它。我有: $(myinput).on('input', function() { $(somediv).append($(this).val()); }); 我想继续使用append函数,但问题是在每个输入上,整个input val()都被追加。因此,当我单击“a”时,它会添加“a”,但当我在a之后单击“b”时,它会附加“ab”而不是“b” 有没有办法只获取最近的.input事件的输入而不清除输入框?您可以使用.text()而不是.append()。
$(myinput).on('input', function() {
$(somediv).append($(this).val());
});
我想继续使用append函数,但问题是在每个输入上,整个input val()都被追加。因此,当我单击“a”时,它会添加“a”,但当我在a之后单击“b”时,它会附加“ab”而不是“b” 有没有办法只获取最近的.input事件的输入而不清除输入框?您可以使用
.text()
而不是.append()
。这将设置整个文本,而不仅仅是附加文本
$(somediv.text($(this.val())代码>
或者可以使用字符串的最后一个字符
$(somediv.text($(this.val().slice(-1))代码>
见:
或
超时是为了做不重叠的事情。
您也可以尝试不使用timoeout我假设您想使用append
,因为somediv
中还有其他您不想丢失的内容。如果是这种情况,您可以创建一个子元素来接收文本,只附加一次,然后在input
字段更改时更改其内容:
var receiver = $('span');
$(somediv).append(receiver);
$(myinput).on('input', function() {
receiver.html($(this).val());
});
您还可以绑定到keyup
事件:
$(document).on('keyup', '#inputID', function(e){
var key = String.fromCharCode(e.which);
$('div').append(key);
});
我想继续使用append函数吗?为什么?您想使用.append
,但不想追加?@codehx我使用的是$(somediv.text()
而不是append,但这破坏了div中的一些其他html,然后为可替换内容添加了一个id为的元素(比如
)。然后您可以自由使用$(“#可替换”).text(“您的文本”)
,如果您想这样做,我可以发布一个答案。@codehx是的,我想这是可行的
var receiver = $('span');
$(somediv).append(receiver);
$(myinput).on('input', function() {
receiver.html($(this).val());
});
$(document).on('keyup', '#inputID', function(e){
var key = String.fromCharCode(e.which);
$('div').append(key);
});