如何在contenteditable上禁用回车键?[在动态添加的元素上]

11 浏览
0 Comments

如何在contenteditable上禁用回车键?[在动态添加的元素上]

当我使用contenteditable="true"时,我想禁用回车键。我该如何做呢?

JSFIDDLE

下面的代码不起作用。

Lorem ipsum

.

$('p[contenteditable]').keyup(function(e) {
  return e.which !== 13 
});

0
0 Comments

如何在contenteditable上禁用回车键?[对于动态添加的元素] 这个问题是因为使用了textarea而不是p元素。解决方法是在按下回车键时返回false。如果使用动态添加的元素,可以使用reload()函数来实现。以下是解决该问题的代码:

$("p[contenteditable]").keypress(function (evt) {
  var keycode = evt.charCode || evt.keyCode;
  if (keycode  == 13) { //Enter key's keycode
    return false;
  }
});

这是一个stackoverflow的链接,其中提到了类似的问题:stackoverflow.com/questions/4753823

你在动态元素上测试过这个解决方案吗?

是的,我测试过了,但是没有起作用。你可以看一下这个链接:jsfiddle.net/cwjm5d4k/10

这是因为你在这里使用了textarea:jsfiddle.net/cwjm5d4k/12

我是说动态添加的p元素。

哦,好的。但是在你的例子中,它实际上是起作用的。

对我来说没有起作用。

当我在contenteditable的p元素中按下回车键时,它不会换行,所以它是起作用的。那你的问题是什么?

当我按下回车键时,它会换行,我不知道为什么。

现在我知道你的意思了。我让它通过reload()函数来实现,我不知道其他方法。你可以在这里查看:jsfiddle.net/cwjm5d4k/18

为什么要使用jQuery?????????纯js就可以实现。

0