To prevent adding line break tags (<br>) in a contenteditable <div> when the Enter key is pressed, you can capture the keydown event and prevent the default behavior for the Enter key. By doing this, the browser's default action of inserting a line break will be suppressed.

Here's a simple example using JavaScript and jQuery to achieve this:

HTML:

html
<div contenteditable="true" id="myContentEditableDiv"></div>

JavaScript (with jQuery):

js
$(document).ready(function() { $('#myContentEditableDiv').on('keydown', function(e) { if (e.keyCode === 13) { e.preventDefault(); } }); });

In this example, we use the keydown event to capture the Enter key press on the contenteditable <div>. When the Enter key is pressed (keyCode === 13), we prevent the default behavior by calling e.preventDefault(), which stops the browser from adding the line break tag.

This will effectively prevent the Enter key from creating new lines in the contenteditable <div>. However, it's essential to note that this approach might change the default behavior of the contenteditable element, and users might expect pressing Enter to create new lines. Ensure that this behavior aligns with your specific use case and user experience requirements.

Additionally, please be aware that the keyCode property is deprecated, and the recommended way to handle keyboard events is to use the key property. For modern browsers, you can use e.key === 'Enter' instead of e.keyCode === 13. However, if you need to support older browsers, using keyCode might still be necessary.

Have questions or queries?
Get in Touch