event im iframe abfangen
cheops
- javascript
0 Alexander Foken0 cheops
0 Christian0 cheops
hi zusammen!
ich benutze normalerweise folgenden code, um key-events auf einer seite abzufangen:
function handleKeyDown (evt) {
var keyCode = document.all ? event.keyCode :
evt.which ? evt.which :
evt.keyCode ? evt.keyCode :
evt.charCode;
if (keyCode == 13) {
window.document.forms[0].submit();
return false;
}
else
return true;
}
if (document.layers)
document.captureEvents(Event.KEYDOWN);
document.onkeydown = handleKeyDown;
...hier wird z.b. enter abgefragt und daraufhin wird ein
dokument abgeschickt.
jetzt habe ich ein iframe auf der seite mit folgender
syntax:
<iframe id="iView" style="width: 415px; height:205px"></iframe>
...wie kann ich jetzt o.g. script benutzen, um key-events innerhalb
des iframes abzufangen? alle versuche meinerseits schlugen fehl,
das script ist niemals angesprungen, es gab aber auch keinerlei
fehlermeldungen :-(
hat da jemand eine idee?
danke im voraus...
gruß
cheops
Moin Moin !
Das IFRAME enthält ein eigenständiges Dokument, in dem Du die Key-Events separat behandeln ("abfangen") mußt -- wozu auch immer das gut sein soll.
Alexander
aloa!
naja, so weit ging mein gedankengang dann auch noch... klar hab ich das script auf das iframe angesetzt...
...tat sich aber wie gesagt nix :-(
Moin Moin !
Das IFRAME enthält ein eigenständiges Dokument, in dem Du die Key-Events separat behandeln ("abfangen") mußt -- wozu auch immer das gut sein soll.
Alexander
Hi,
if (document.layers)
document.captureEvents(Event.KEYDOWN);
document.onkeydown = handleKeyDown;
Idee wäre, dass du hier das document des iframes ansprechen musst! und daran die events hängen musst!
weiß nicht genau wie du die ansprechen kannst. Versuchs mal so:
document.getElementById("iframeID").document.onkeydown
oder
document.frames["iframID"].document.onkeydown
weiß aber nicht ob das geht!
Gruß
Christian
hi,
hab den fehler gefunden... ist aber zu peinlich als dass ich ihn hier erwähnen könnte ;-)
anyway, klappt jetzt jedenfalls und der iframe liefert mir den
event und den passenden keycode.
letzte frage noch: kann man den keycode irgendwie "verbiegen"?
also angenommen ich bekomme eine "13" für return zurück und
ich möchte aber den effekt von "shift+return" simulieren... kann
ich den bereits gestarteten event noch ändern?
ich hatte auf sowas hier getippt:
if (document.frames["iView"].event.keyCode == 13)
document.frames["iView"].event.keyCode = (13&16);
...funktioniert aber leider nicht :-(
gruß und danke
cheops
Hi,
if (document.layers)
document.captureEvents(Event.KEYDOWN);
document.onkeydown = handleKeyDown;Idee wäre, dass du hier das document des iframes ansprechen musst! und daran die events hängen musst!
weiß nicht genau wie du die ansprechen kannst. Versuchs mal so:
document.getElementById("iframeID").document.onkeydown
oder
document.frames["iframID"].document.onkeydown
weiß aber nicht ob das geht!
Gruß
Christian