Javascript-форум (https://javascript.ru/forum/)
-   Events/DOM/Window (https://javascript.ru/forum/events/)
-   -   Обработка кнопки ENTER в визуальном редакторе (https://javascript.ru/forum/events/1529-obrabotka-knopki-enter-v-vizualnom-redaktore.html)

intr 07.08.2008 18:07

Обработка кнопки ENTER в визуальном редакторе
 
Во фрейме сделали визуальный редактор (...designMode="On")
Сделали так, что по нажатии на ENTER, на клавиатуре, создается тэг "<br>" вместо "<p></p>" которые по умолчанию. Но вот после вставки этого "<br>" мигающий курсорчик ввода не всегда перемещается на новую строчку. :mad:

Вопрос: как заставить курсор всегда перемещаться на новую строчку? Скрипт нужен только для браузера IE.

Рабочая демка, показывающая эффект:
<html>
<META HTTP-EQUIV="Content-Type"CONTENT="text/html;CHARSET=Windows-1251">
<body>
Обрабатывать нажатие на ENTER: <input type=checkBox name=trueEdit><br>
<IFRAME id="fVisual" width="600" height="200" src=""></IFRAME><br>
<IFRAME id="fHtml" width="600" height="200" src=""></IFRAME>
<script>
var df=document.frames.fVisual.document
df.designMode="On"
df.open()
df.write('<html><body>1111111111<br>2222222222<br>3333333333<br></body></html>')
df.close()

	function clk(){
	var e=document.frames.fVisual.event
	var r=true
		if(e){	
		var n=e.keyCode?e.keyCode:e.charCode;
			if(document.all.trueEdit.checked==true && n==13){
			var j=document.frames.fVisual.document.selection.createRange()
				if(j){
				j.pasteHTML("<br>")
				r=false
				}
			}
		}
	document.frames.fHtml.document.body.innerText=df.body.innerHTML
	return r
	}

df.onkeypress=clk
</script>
</body>
</html>

Snipe 07.08.2008 18:08

Оформите нормально вопрос! html надо ставить в html тег.


Часовой пояс GMT +3, время: 06:36.