Уберите все скрипты со страницы и посмотрите — это нативное поведение браузера.
Придётся добавлять перенос вручную. Можно вот так по-рабоче-крестьянски влупить строчку:
if (code == 13) {
if (event.ctrlKey) {
elem.val(elem.val() + '\r\n');
} else {
event.preventDefault();
scope.$apply(attrs.enterSubmit);
}
}
Update: Начинка всё равно на нативном
Javascript, так что без разницы, в каком языке.
target — это ссылка на textarea,
e — на событие.
if ((e.keyCode || e.which) == 13) {
if (e.ctrlKey) {
if (target.selectionStart) {
var start = target.selectionStart;
target.value = target.value.slice(0, start) + '\r\n' + target.value.slice(target.selectionEnd);
target.selectionStart = target.selectionEnd = start + 1;
} else {
var range = document.selection.createRange();
range.text = '\r\n';
range.collapse(false);
range.select();
}
} else {
e.preventDefault();
// тут делаем ку
}
}