按住退格键不触发键盘

时间:2015-01-03 10:18:23

标签: javascript jquery html events backspace

我试图通过检查输入的当前值是否与输入的先前值相同来尝试使用javascript和jquery将输入中的文本写入密钥。除非按住退格键直到所有文本都从输入中消失,否则此方法正常工作。在这种情况下,它不会因为某些原因更新我使用的变量。这种情况发生在所有浏览器中,并且只有在删除所有文本时才会发生,也只有在使用退格键(而不是其他键)时才会发生

我在javascript上非常新,所以任何提示都表示赞赏:)

的javascript:

    fsa = (function() {

        var inputId = "";
        var sigId = "";

        function resetOnFocus() {
            inputId = document.activeElement.id;
            sigId = "sig-" + document.activeElement.id;
        }

        function getText() {
            lastentry = $("#" + inputId).val();
        }

        function writeText() {

            if ($("#" + inputId).val() != lastentry) {
                document.getElementById(sigId).innerHTML = 'current entry :' + $("#" + inputId).val() + '</br>last entry: ' + lastentry;
            }
        }

        return {
            resetOnFocus: resetOnFocus,
            getText: getText,
            writeText: writeText
        }

    })();

    //call the functions

    //clear variables on focus
    $('input').focus(function() {
        fsa.resetOnFocus();
    });

    //get input value on key press
    $('input').keydown(function() {
        fsa.getText();
    });

    //prints input value on keyup if input value is new
    $('input').keyup(function() {
        fsa.writeText();
    });

和html:

<input id="first-name" class="i1" />
<div id="sig-first-name" class="o1" /></div>
<input id="last-name" class="i2" />
<div id="sig-last-name" class="o2" /></div>

0 个答案:

没有答案