Javascript-форум (https://javascript.ru/forum/)
-   Общие вопросы Javascript (https://javascript.ru/forum/misc/)
-   -   WYSIWYG не могу поймать событие onkeypress (https://javascript.ru/forum/misc/1838-wysiwyg-ne-mogu-pojjmat-sobytie-onkeypress.html)

scuter 23.09.2008 18:16

WYSIWYG не могу поймать событие onkeypress
 
Вложений: 1
мне нужно сделать необычный WYSIWYG,
видно должно быть HTML а отправляться должно bbcode,
сделать то сделал, но он не хочет срабатывать на событие onkeypress,
только Safari срабатывает на это дело, а все остальные не хотят слушаться.

скажите пожалуйста как поймать onkeypress, когда оно происходит в iframe редактора.

Андрей Параничев 23.09.2008 19:30

Нужно использовать комбинацию onkeypress, onkeyup и onkeydown. Вот тут подробно об этом написано, правда на английском.

scuter 24.09.2008 14:47

к сожалению не срабатывает,
только Safari работает.
может есть пример где есть перехват такого события.

scuter 24.09.2008 15:34

кстати в FF заработало когда я сделал так,
if (this.win.addEventListener)
	    {
	       this.win.addEventListener("keydown",function(){ textarea.value=codepress.bbcode(doc.body.innerHTML);},false);
	       this.win.addEventListener("keypress",function(){ textarea.value=codepress.bbcode(doc.body.innerHTML);},false);
	       this.win.addEventListener("keyup",function(){ textarea.value=codepress.bbcode(doc.body.innerHTML);},false);
	       this.win.addEventListener("textinput",function(){ textarea.value=codepress.bbcode(doc.body.innerHTML);},false);
	    }
	    else if (this.doc.attachEvent)
	    {
	       this.doc.attachEvent("onkeydown", function(){ alert('tyertkuyeirutpyioeurt');});
	       this.doc.attachEvent("onkeypress", function(){ alert('tyertkuyeirutpyioeurt');});
	       this.win.attachEvent("onkeyup",function(){ alert('tyertkuyeirutpyioeurt');});
	       this.win.attachEvent("ontextinput", function(){ alert('tyertkuyeirutpyioeurt');});
	    }
	    else
	    {
	       this.win.onkeydown= function(){ textarea.value=codepress.bbcode(doc.body.innerHTML);};
	       this.win.onkeypress= function(){ textarea.value=codepress.bbcode(doc.body.innerHTML);};
	       this.win.onkeyup= function(){ textarea.value=codepress.bbcode(doc.body.innerHTML);};
	       this.win.ontextinput= function(){ textarea.value=codepress.bbcode(doc.body.innerHTML);};
	    }

scuter 25.09.2008 14:43

Вложений: 1
пришлось сделать так как не надо делать,

если не трудно посмотрите пожалуйста на сколько правильно он работае,

но если кто узнает как определить нажатие клавиш в iframe, во всех броузерах,
напишите пожалуйста не сочтите за труд.

Андрей Параничев 25.09.2008 15:14

В firefox он пихает в textarea html-код, не bb-коды.


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