退格和删除按钮不会删除IE上的textarea中的字符

时间:2013-07-03 14:43:05

标签: javascript jquery internet-explorer

在我的应用程序中,我有一个文本区域,用户无法删除使用退格键输入的字符或IE9中的删除键。这适用于Chrome。

我有以下代码

$('textarea').live('keydown', function(e) {
        var keyCode = e.keyCode || e.which;
        if (keyCode == 9) {
            var currentIndex = getCaret($(this).get(0))
            selectText($(this), currentIndex);
            return false;
        }
    });
});

我正在使用 jQuery.highlighttextarea.js 来突出显示模式上的文字。 我不确定是否需要修改 jQuery.highlighttextarea.js 来处理退格或删除。 请建议

我确实像

一样使用它

我确实像

一样使用它
if (e.which == 9) {
var currentIndex = getCaret($(this).get(0))
            selectText($(this), currentIndex);
            return false;
    }

if (e.which == 8 || e.which == 46)  {
    return false;

}

但是现在退格或删除不起作用

2 个答案:

答案 0 :(得分:5)

键码9是tab。点击此处:http://www.cambiaresearch.com/articles/15/javascript-char-codes-key-codes

您需要846,例如:

if (e.which == 8 || e.which == 46) return false;

答案 1 :(得分:1)

将此触发器添加到 jquery.highlighttextarea.js

'keydown.highlightTextarea' : $.proxy(function(e) {

                    var keyCode = e.keyCode || e.which;
                    if (keyCode == 9) {
                        var currentIndex = getCaret($(e.target).get(0))
                        selectText($(e.target), currentIndex);
                        return false
                    } 
                    if (keyCode == 8 || keyCode == 46) {
                        this.highlight(true);
                    }
                    this.highlight(true);

                }, this),