在javascript中更改标签键行为

时间:2012-08-30 07:28:55

标签: javascript

我在一个令人满意的div中有一个文本编辑器。

我需要更改[TAB]行为以插入空格或\ t而不是关注下一个元素,这是默认的浏览器行为。

我有一个像这样的事件处理程序:

function keyDown(e) {
    // press tab.
    if (e.keyCode == 9) {
        e.preventDefault();
        return;
    }
}

导致不会失去对div的关注,我现在需要的是在光标位置插入一个[TAB]或空格。

怎么办呢?

1 个答案:

答案 0 :(得分:2)

这样可以解决问题:http://jsfiddle.net/eFLGZ/

$('textarea').keydown(keyDown);

function keyDown(e) {

    // press tab.
    if (e.keyCode == 9) {
        e.preventDefault();

        // Insert a space.
        var txt = $('textarea').val();
        $('textarea').val(txt + ' ');

        return;
    }
}

请参阅here了解如何输入光标当前所在的文本。