Javascript 如何使用maxlength获取输入中键入的-real-last字符?
我想知道用户正在输入的字符:Javascript 如何使用maxlength获取输入中键入的-real-last字符?,javascript,Javascript,我想知道用户正在输入的字符: <input maxlength="20"/> 我有一个意见: <input maxlength="20"/> 以及返回最后键入的字符的脚本: var eingabe; $('form').on('keypress', function(event) { /// if no whitespace: if (String.fromCharCode(event.keyCode).replace(/\s/g, ""
<input maxlength="20"/>
我有一个意见:
<input maxlength="20"/>
以及返回最后键入的字符的脚本:
var eingabe;
$('form').on('keypress', function(event) {
/// if no whitespace:
if (String.fromCharCode(event.keyCode).replace(/\s/g, "").length > 0) {
eingabe = String.fromCharCode(event.keyCode);
$('#eingabe').html("<div>Eingabe : "+ eingabe +"</div>");
}
});
var-eingabe;
$('form')。在('keypress',函数(事件)上{
///如果没有空格:
if(String.fromCharCode(event.keyCode).replace(/\s/g,“”).length>0){
eingabe=String.fromCharCode(event.keyCode);
$('#eingabe').html(“eingabe:+eingabe+”);
}
});
我的问题是:
因为我的输入有一个maxlength属性,所以键盘上最后键入的字符有时不是输入的最后一个实型字符,因为输入是“满的”。如何获取输入中键入的最后一个字符?在函数中,使用输入元素的值获取最后一个字符,如
$('#input_field').val().substr($('#input_field').val().length-1)
或使用您最好的编码技巧完成类似操作,而无需访问该字段两次,眨眨眼。我还没试过,但一定能用
在输入元素上设置onkeypress=或onkeydown=并将键值存储在LastChr变量中。我遇到了类似的问题。如果用户在我的输入字段中键入特定字符,我想调用一个函数。我用以下方法解决了这个问题:
var input = document.getElementById('myInput');
input.addEventListener('input', function() {
// Get cursor position
var start = this.selectionStart;
// Get last typed character
var lastChar = String.fromCharCode(this.value.charCodeAt(start - 1));
if(lastChar === '[YOURCHARHERE]') {
// do something
}
});
请记住,“输入”只支持IE8,但如果你不关心专有浏览器,你应该没问题。我希望这有帮助。您想要最后键入的字符还是
元素值中的最后一个字符?这两件事似乎不一样。为什么keypress
事件附加到form
元素而不是input
元素?我想要input
中出现的input
中最后键入的字符。如果按[^]+[a]=[–],最后一个键入的字符是组合字符,您想得到一个或–吗?2.如果用户通过退格删除文本,您想将其也算作字符吗?3.如果用户将文本粘贴到输入中,这算是“键入字符”吗?谢谢,我不想获取输入中的最后一个字符(在字符串末尾),而是获取输入中任何位置的最后一个键入字符