【问题标题】:Why Escape key on keyup display textbox value again为什么 keyup 上的 Escape 键再次显示文本框值
【发布时间】:2014-04-03 06:39:45
【问题描述】:

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

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

它实际上工作得很好,

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

场景:在文本框中输入一些值,让我们说:“印度”。
现在,我按 ESCAPE,文本框变为空“”;

现在文本框是空的。

再次,如果我开始按 ESCAPE(当文本框为空时),那一刻我在文本框中看到“印度” 并且松开ESCAPE键后,Textbox再次清空。

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

更新:

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

【问题讨论】:

  • 请修改您的代码。
  • 你的代码没问题。你用的是什么浏览器?
  • 在最新版本的 Chrome 和 FireFox @ kp 上测试 ..

标签: javascript textbox onkeyup


【解决方案1】:

试试这个

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

DEMO

【讨论】:

  • 谢谢@shridhar,但是如果我想在文本框中写一些东西,那么我必须单击/或使用文本框上的选项卡。否则因为模糊功能我不能再写了。
猜你喜欢
  • 2013-12-25
  • 1970-01-01
  • 1970-01-01
  • 2015-07-03
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 2012-10-07
  • 1970-01-01
相关资源
最近更新 更多