为什么键上的转义键再次显示文本框值

Why Escape key on keyup display textbox value again

本文关键字:显示 文本 转义 为什么      更新时间:2023-09-26

我有非常简单的JavaScript函数,可以在Esc键按下时清除文本框。

    $("#txtTerm").keyup(function (e) {
        if (e.keyCode == 27 ) {
            $("#txtTerm").val('');
            } 
    });

它实际上工作得很好,

问题:当我再次按 Esc 键时,我在文本框中获得了旧的文本框值,当我释放 Esc 键时,文本框中的值再次清除,

场景:在文本框中输入一些值,比如说:"印度"。
现在,我按 ESC 键,文本框变为空 " " ;

现在文本框为空。

再次,如果我开始按 ESC键(当文本框为空时),那一刻我在文本框中可以看到"印度" 释放 ESCAPE 键后,文本框再次清除。

是否有任何可能的解决方案,或者听起来像错误或某些安全问题?

更新:

不知何故,它没有在小提琴中复制,但这是链接,显示其他一些人也面临同样的问题。https://bugzilla.mozilla.org/show_bug.cgi?id=524360

试试这个

$("#txtTerm").keyup(function (e) {
        if (e.keyCode == 27 ) {
            $("#txtTerm").val(' ');
            $("#txtTerm").blur() // Loose focus on input field
            } 
})

演示