如何在contenteditable中停用enter事件(仅输入no shift + enter)

时间:2013-08-17 10:14:37

标签: jquery html html5

我想在我的代码中使用contenteditable属性,但我有一个问题。

我想点击( shift + enter )进入下一行(点:我只想转移+输入转到下一行)然后点击回车键此div中具有contenteditable属性的隐藏文本。

请指导我。

1 个答案:

答案 0 :(得分:8)

您可以使用keydown事件。 Mdn了解有关此活动的更多信息。

使用以下示例html:

<div id="pinky" contenteditable="true">Pink unicorns are blue</div>

您可以将keydown事件处理程序附加到此元素。然后我们可以使用event.shiftKey来检测shiftKey是否与我们的回车键一起被按下。键13是“输入”键之一。

$('#pinky').on('keydown', function(e) {
  if (e.which === 13 && e.shiftKey === false) {
    //Prevent insertion of a return
    //You could do other things here, for example
    //focus on the next field
    return false;
  }
});

此片段显示了这一点:

$('#pinky').on('keydown', function(e) {
  if (e.which === 13 && e.shiftKey === false) {
    //Prevent insertion of a return
    //You could do other things here, for example
    //focus on the next field
    return false;
  }
});
#pinky {
  background: pink;
}
<script src="https://ajax.googleapis.com/ajax/libs/jquery/1.9.1/jquery.min.js"></script>
<div id="pinky" contenteditable="true">Pink unicorns are blue</div>