首页
学习
活动
专区
圈层
工具
发布
首页
学习
活动
专区
圈层
工具
MCP广场
社区首页 >问答首页 >Javascript:退出键清除firefox中的文本

Javascript:退出键清除firefox中的文本
EN

Stack Overflow用户
提问于 2013-05-15 08:14:34
回答 2查看 322关注 0票数 1

我有一个具有一些功能的输入类型的文本。文本始终具有焦点,但在此期间文本可能会发生变化。当你按下退出键的时候,一些东西应该会关闭。我为此绑定了一个关键事件,它工作得很好。我的问题是,在firefox中,当按下退出键时,文本总是被清除。你可以在这里测试它:

代码语言:javascript
复制
$('#asd').click(function() {
    $(this).val('huhu');
});

$('#asd').keydown(function(e) {
    if(e.which == 27) {
        e.preventDefault();
        return false;
    }
});

http://jsfiddle.net/hJ9th/1/

在文本字段中单击,然后按Esc键。文本将消失。我试着阻止它,但它不起作用。

我能做些什么来防止这种情况发生?

EN

回答 2

Stack Overflow用户

回答已采纳

发布于 2013-05-15 20:04:16

超级脏,但我想我是在用它:

代码语言:javascript
复制
$('#asd').click(function() {
    $(this).val('huhu');
});

$('#asd').keydown(function(e) {
    if(e.which == 27) {
        var $this = $(this);
        $this.blur();
        setTimeout(function() {
            $this.focus();
        }, 10);
    }
});

http://jsfiddle.net/hJ9th/2/

票数 1
EN

Stack Overflow用户

发布于 2013-05-15 08:24:20

这是Firefox内置的行为。

如果您想要阻止它,您需要附加一个JS/jQuery处理程序来拦截keydown事件,如果keydown为ESC,则返回false。

here就是一个例子。

票数 -1
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/16554777

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档