输入时只获取新的输入值
on input get only new input value
我有一个文本输入,在那里我可以获得输入并使用它
$(myinput).on('input', function() {
$(somediv).append($(this).val());
});
我想继续使用append函数,但问题是在每个输入上,整个输入val()都被追加了。所以当我点击"a"时,它会添加"a",但当我点击a之后的"b"时,会添加"ab"而不是"b"。
有没有一种方法可以只获取最近的.input事件的输入而不清除输入框?
您可以使用.text()
而不是.append()
。这将设置整个文本,而不仅仅是附加它
$(somediv).text($(this).val());
或者可以使用字符串的最后一个字符。
$(somediv).text($(this).val().slice(-1));
请参阅:如何获取字符串的最后一个字符?
我假设您想要使用append
,因为somediv
中还有其他内容您不想丢失。如果是这种情况,您可以创建一个子元素来接收文本,只附加一次,然后在input
字段更改时更改其内容:
var receiver = $('span');
$(somediv).append(receiver);
$(myinput).on('input', function() {
receiver.html($(this).val());
});
$("#myinput").on('input', function() {
$("#somewhere").val("");
setTimout(function() {
$("#somewhere").append($(this).val());
},10);
});
或
$("#myinput").focusout(function() {
$("#somewhere").val("");
setTimout(function() {
$("#somewhere").append($(this).val());
},10);
});
超时是指不重叠地做事。您也可以在没有timeout 的情况下尝试
您还可以绑定到keyup
事件:
$(document).on('keyup', '#inputID', function(e){
var key = String.fromCharCode(e.which);
$('div').append(key);
});
jsFiddle演示
相关文章:
- 从MySQL数据库中获取输入数据需要两次页面刷新
- 输入字段将't获取更新的值
- 如何从客户端的数组中获取用户输入和返回值
- 在数据库中循环值时,为输入框获取唯一值
- Javascript获取具有不同id的文件数's来自没有多个属性的文件输入元素
- 如何使用html/html5中的用户输入获取完整的地理位置详细信息
- 使用 D3 中用户的输入获取值
- 我如何使用javascript并根据提供的输入获取JSON数据
- 提前输入获取远程数据问题
- 根据递归ul中的输入获取一个表单的序列化数组
- 正在尝试根据用户输入获取总额
- Emberjs:从输入获取数据
- 从任意数量的输入获取JavaScript对象
- 在鼠标输入获取下拉元素的焦点
- 如何使用javascript或jquery为新表单输入获取更新的json文件
- 通过用户输入获取变量
- 我如何从html输入获取属性值
- 另一个选项更直接地从td中的输入获取title属性
- 从命令行输入获取完整的iframe url,并从python变量解析为HTML
- AngularJS FORMs:根据前面的输入获取第二个SELECT BOX的Items