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

rsk*_*k82 26 javascript javascript-events

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

我尝试在这里模拟许多IM通信器具有的功能:发送消息,Enter但也使用Shift+ 添加多行Enter.

aor*_*sik 37

测试输入键码(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;
    }
}
Run Code Online (Sandbox Code Playgroud)

编辑:接受所有truthy值e.shiftKey

  • 浏览器事件监听器中的@Salmonface,如果在回调中返回false,则会阻止默认操作.在带有提交按钮的表单中按"输入"会默认发送表单,但如果返回false,则不会发送.注意:您必须使用`keydown`事件才能防止默认键操作. (3认同)