如何在textarea中使用keydown事件?

时间:2012-07-16 19:33:04

标签: javascript greasemonkey

我不习惯使用javascript,但我厌倦了在工作中手动重复尝试。当我在论坛中写作时,我需要一个快速的短命令,比如Ctrl-Alt-z,将一些文本插入到textarea对象中。

我已经编写了一个在文本光标insertAtCursor(text)处插入文本的函数。 textarea的ID是“content”。

我知道如何解决检查组合键的问题。我的问题基本上是检查任何键盘输入。

我尝试了以下内容:

document.keydown(function(event){
  alert("Test");
});

然而,它不起作用。

提前致谢!

2 个答案:

答案 0 :(得分:5)

如果您正在寻找跨浏览器解决方案,我认为您将度过艰难时期。这有助于您:http://www.quirksmode.org/dom/events/keys.html

基本上,你需要这样的东西:

document.getElementById('content').addEventListener('keydown', function (e){
    // Do your key combination detection
}, false);

MDN on events. Probably more helpful

答案 1 :(得分:4)

var textarea = document.getElementById('textarea');

textarea.onkeydown = function ()
{
   alert("Test");
};

使用jQuery(delegate)。

$("body").delegate("textarea", "keydown",function(e){
        alert("Test");
        //code logic goes here
        //if(e.which == 13){
        //Enter key down    
    }
});

$('textarea').live("keydown", function(e) {
    alert("Test");
    // e.which is which key, e.g. 13 == enter
});

live上的文档。 event上的文档。