如何在textarea上捕获enter keypress而不是shift + enter?

时间:2011-05-30 16:01:50

标签: javascript javascript-events

我正在为texarea做这件事。当用户按 Enter 时应该调用一个函数,但是当按下 Shift + Enter 时,不应该执行任何操作。

我尝试在这里模拟许多IM通信器具有的功能:在输入上发送消息,但也使用 Shift + 输入

4 个答案:

答案 0 :(得分:36)

测试输入键码(13)并按下shift键。

...onkeyup = function(e) {
    if (e.keyCode == 13)
    {
//      if (e.shiftKey === true)
        if (e.shiftKey)  // thruthy
        {
            // new line
        }
        else
        {
            // run your function
        }
        return false;
    }
}

修改:接受e.shiftKey

的所有真值

答案 1 :(得分:2)

element.onkeydown = function(o) {
  o = o || event;
  if (o.shiftKey && o.keyCode == 13) {
    /* shift + enter pressed */
  }
}

答案 2 :(得分:1)

我相信您还需要一个keydown事件来检查SHIFT键,http://www.quirksmode.org/js/keys.html

答案 3 :(得分:0)

查看事件对象的shiftKey属性,该属性将告诉您在按下键时是否保持了shift。

相关问题