如何使用maxlength输入输入的-real-最后一个字符?

时间:2016-05-22 16:42:35

标签: javascript

我想知道用户在输入中输入了哪个字符:

我有一个输入:

  <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>");
   }
});

我的问题是: 因为我的输入有一个maxlength属性,键盘上最后输入的字符有时不是输入中的最后一个字体,因为输入是&#34; full&#34;。如何将输入的最后一个字符输入?

3 个答案:

答案 0 :(得分:1)

我有类似的问题。如果用户在输入字段中键入特定字符,我想调用一个函数。我解决了以下问题:

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,但如果您不关心专有浏览器,那么您应该没问题。我希望这会有所帮助。

答案 1 :(得分:0)

在你的函数中,使用input元素的值来获取像$('#input_field').val().substr($('#input_field').val().length - 1)这样的最后一个字符,或者使用你最好的编码技巧来完成类似的事情,而无需访问该字段两次,眨眼间眨眼。

答案 2 :(得分:0)

我没有尝试过,但一定有用......

在Input元素上设置onkeypress =或onkeydown =并将键值存储在LastChr变量中。