like-a-boss
@like-a-boss
Признайся,тебяТянетНаКодМужика,ты—программный гей

Как JS изменить поведение Enter на Shift+Enter?

Т.е. вместо парагрфов вставлять переносы строк
$(".class").keydown(function(e){
 if (e.keyCode == 13)     {
         //???
 }
});

Либо другой вариант, который будет уметь в contenteditable по энтору вставлять <br> вместо параграфов. Перерыл много стаковерфлоу, но так и не нашёл путного кроссбраузерного решения
  • Вопрос задан
  • 844 просмотра
Решения вопроса 1
Petroveg
@Petroveg
Миром правят маленькие с#@&ки
Пример
$(document).on('keydown', '[contenteditable]', function (e) {
	if (e.keyCode == 13) {
		var node = document.createElement('br');

		e.preventDefault();

		try {
			var selection = window.getSelection(),
				range = selection.getRangeAt(0);

			range.deleteContents();
			range.collapse(false);
			range.insertNode(node);
			range.selectNode(node);
			range.collapse(false);
			selection.removeAllRanges();
			selection.addRange(range);
		} catch (z) {
			var range = document.selection.createRange();

			range.pasteHTML(node.outerHTML);
			range.select();
		}
	}
});
Ответ написан
Пригласить эксперта
Ваш ответ на вопрос

Войдите, чтобы написать ответ

Похожие вопросы
26 нояб. 2024, в 13:05
450 руб./в час
26 нояб. 2024, в 12:58
30000 руб./за проект
26 нояб. 2024, в 12:56
1500 руб./в час