我正在为texarea做这件事。当用户按 Enter 时应该调用一个函数,但是当按下 Shift + Enter 时,不应该执行任何操作。
我尝试在这里模拟许多IM通信器具有的功能:在输入上发送消息,但也使用 Shift + 输入
答案 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。