Backspace不在textarea中工作

时间:2012-05-29 13:06:25

标签: javascript html

我正在使用textarea来收集一些数据。我遇到的问题是退格按钮不起作用。我可以选择所有文本并使用删除按钮删除文本,但我不能使用退格按钮。有没有人对退格无效的原因提出建议?

1 个答案:

答案 0 :(得分:-1)

面临同样的问题。

事实证明,ExtJs 4中有一个带有Backspace按钮的错误:ExtJs App将Backspace传播到浏览器,用户将被重定向到之前打开的页面。

以下是一些详细信息Stop the backspace key from going to the previous page in your extjs app

解决此问题的最佳方法是在编辑控件中禁用“退格”按钮。

所以有人在几十年前将这段代码添加到我们的项目中:

Ext.EventManager.on(window, 'keydown', function(e, t) {
    if (e.getKey() == e.BACKSPACE && 
        (!/^input$/i.test(t.tagName) || t.disabled || t.readOnly)) {
        e.stopEvent();
    }
});

正如您所见,只允许在输入标记内使用Backspace。 我打赌你有完全相同的情况。修复也很明显:

Ext.EventManager.on(window, 'keydown', function(e, t) {
    if (e.getKey() == e.BACKSPACE && 
        (!/^input|textarea$/i.test(t.tagName) || t.disabled || t.readOnly)) {
        e.stopEvent();
    }
});