Показать сообщение отдельно
  #1 (permalink)  
Старый 07.08.2008, 18:07
Новичок на форуме
Отправить личное сообщение для intr Посмотреть профиль Найти все сообщения от intr
 
Регистрация: 07.08.2008
Сообщений: 3

Обработка кнопки 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>

Последний раз редактировалось intr, 07.08.2008 в 18:13.
Ответить с цитированием