2015-10-17 4 views
-1

Как заставить мой курсор перемещаться на одну строку вниз при нажатии ввода и предотвращении дефолта?Когда вводится нажатый в первый раз, один бр добавляется со следующего раза 2brs добавляется?

Код я использовал ниже:

var docFragment = document.createDocumentFragment(); 
var newEle = document.createTextNode('\n'); 
docFragment.appendChild(newEle); 
newEle = document.createElement('br'); 
docFragment.appendChild(newEle); 
var newEle = document.createTextNode('\n'); 
docFragment.appendChild(newEle); 
newEle = document.createElement('br'); 
docFragment.appendChild(newEle); 
var range = window.getSelection().getRangeAt(0); 
range.deleteContents(); 
range.insertNode(docFragment); //create a new range 
range = document.createRange(); 
range.setStartAfter(newEle); 
range.collapse(true); 
var sel = window.getSelection() sel.removeAllRanges(); 
sel.addRange(range); 
+1

Добро пожаловать в SO! Пожалуйста, смотрите [ask] с [mcve] – Tushar

+1

Добавьте код, о котором идет речь, также добавьте HTML – Tushar

+0

. Я добавил код к вашему вопросу. Вы можете добавить свой собственный вопрос, нажав кнопку [edit]. Подробнее о том, как форматировать вопросы в [SO], читайте [этот справочный документ] (http://stackoverflow.com/editing-help). –

ответ

0

Вы ошибочно думать, что речь идет о «линии». Стандартное поведение для нажатия Enter в contenteditable элемента, чтобы создать новый пункт (<p>) или элемент списка, если вы находитесь в списке и т.д.

Расстояние по умолчанию (маржа) между пунктами является одна строка высокая.

Если вы хотите разрывы строк, вам нужно либо использовать CSS, чтобы пометить контейнер как white-space: pre, либо перехватить нажатие клавиши, отменить действие по умолчанию и вставить элемент br. Я думаю, что первый вариант намного проще.

В качестве альтернативы вы можете уменьшить границу между абзацами в родительском контейнере.

+0

im, используя это из redlining concept.i созданный редактор, в то время как потолочное выделение в моем редакторе дает проблемы http://nytimes.github.io/ice/demo/ –

+0

@amarabkrish Это прекрасно работает, он просто не делает что *вы хотите. Мне не платят, чтобы написать код для вас, но я помогу вам, если вы начнете, и обновите свой вопрос, как вы пытались реализовать свое желаемое поведение. – Touffy

+0

@tffy привет, я нашел ur id как [email protected], я отправил по почте свое приложение, пожалуйста, изучите его. –

 Смежные вопросы

  • Нет связанных вопросов^_^