WYSIWYG не могу поймать событие onkeypress
Вложений: 1
мне нужно сделать необычный WYSIWYG,
видно должно быть HTML а отправляться должно bbcode, сделать то сделал, но он не хочет срабатывать на событие onkeypress, только Safari срабатывает на это дело, а все остальные не хотят слушаться. скажите пожалуйста как поймать onkeypress, когда оно происходит в iframe редактора. |
Нужно использовать комбинацию onkeypress, onkeyup и onkeydown. Вот тут подробно об этом написано, правда на английском.
|
к сожалению не срабатывает,
только Safari работает. может есть пример где есть перехват такого события. |
кстати в 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);}; } |
Вложений: 1
пришлось сделать так как не надо делать,
если не трудно посмотрите пожалуйста на сколько правильно он работае, но если кто узнает как определить нажатие клавиш в iframe, во всех броузерах, напишите пожалуйста не сочтите за труд. |
В firefox он пихает в textarea html-код, не bb-коды.
|
Часовой пояс GMT +3, время: 15:32. |