有没有办法在JavaScript中将Enter更改为Shift + Enter

时间:2017-08-24 19:49:38

标签: javascript jquery javascript-events

这是我尝试过但显然失败了:

                ed.on('keyup', function(e){
                    console.log(e.keyCode)
                    if(e.keyCode == 13 && !e.shiftKey){
                        e.shiftKey = true;
                        e.keyCode = 13;
                        $(this).trigger(e);
                    }
                    else if (e.keyCode == 13 && e.shiftKey){
                        e.shiftKey = false;
                        e.keyCode = 13;
                        $(this).trigger(e);
                    }
                }); 

根据我所看到的情况,有没有办法做到这一点我认为我走在正确的轨道上,而且很可能只是不提早或类似的事情。

另外,我尝试使用'按键'相反,并没有运气。

2 个答案:

答案 0 :(得分:2)

当没有移动按下enter时,用enter和shift触发keydown!



$('input').on('keydown', function(event) {
  if (event.keyCode == 13 && !event.shiftKey) {
    $(this).trigger(jQuery.Event("keydown", {
      keyCode: 13, // ENTER
      shiftKey: true
    }));
  } else if (event.keyCode == 13 && event.shiftKey) {
    console.log('shift + enter');
  }
});

<script src="https://ajax.googleapis.com/ajax/libs/jquery/2.1.1/jquery.min.js"></script>
<input/>
&#13;
&#13;
&#13;

答案 1 :(得分:0)

document.onkeydown =函数onkeydown(e){

if (e.keyCode == 13 && e.shiftKey==false) {
    e.preventDefault(); 
    document.execCommand("insertLineBreak");    
} 

}