How to catch enter keypress on textarea but not shift+enter?
本问题已经有最佳答案,请猛点这里访问。
我正在为texarea做这件事。 当用户按下Enter时应该调用一个函数,但是当按下Shift + Enter时不应该执行任何操作。
我尝试在这里模拟许多IM通信器具有的功能:在Enter上发送消息,但也使用Shift + Enter添加多行。
测试输入键码(13)和按下shift键。
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 | ...onkeyup = function(e) { if (e.keyCode == 13) { // if (e.shiftKey === true) if (e.shiftKey) // thruthy { // new line } else { // run your function } return false; } } |
编辑:接受
1 2 3 4 5 6 | element.onkeydown = function(o) { o = o || event; if (o.shiftKey && o.keyCode == 13) { /* shift + enter pressed */ } } |
我相信你还需要一个keydown事件来检查SHIFT密钥,http://www.quirksmode.org/js/keys.html
查看事件对象的shiftKey属性,该属性将告诉您在按下键时是否保持shift。