【发布时间】:2013-05-23 07:10:31
【问题描述】:
我有一个contentEditable DIV,我需要防止在 Enter 键上插入换行符,并且只能通过按 Shift + Enter 来允许它
我试过了:
$(".element").on('keydown', function(e) {
if (e.keyCode == 13 && !e.shiftKey){
e.preventDefault();
}
});
但不起作用。它仅适用于 Textarea..
有办法吗?
编辑:我在jsFiddle 上尝试过,它可以正常工作,但在我正在处理的页面上却不行。
它是一个 DOM 生成的 contentEditable DIV:
<div class="wysibb-body" contentEditable="true"></div>
删除alert() 我明白了,但关闭它后,会插入换行符。
$(".wysibb-body").on('keydown', function(e) {
if (e.keyCode == 13 && !e.shiftKey){
//alert('Enter pressed');
e.preventDefault();
}
});
【问题讨论】:
-
你的东西在 chrome 中工作。你在检查哪个浏览器?
-
Chrome 上次更新。我知道它有效,我在 jsFiddle 上试过,但在我正在处理的页面上没有。
标签: jquery contenteditable line-breaks