veru: Fokus innerhalb einiger Form Elemente festhalten

Beitrag lesen

hi,

ich möchte erreichen, dass der Fokus innerhalb einiger der dargestellten Formularelemente bleibt.

welcher zweck verbirgt sich dahinter?

Ich möchte eine frei konfigurierbare MessgeBox mit HTML und Javascript nachbilden, deren Werte ich einfach mit PHP auswerten kann. Dazu positioniere ich ein <div> mit undursichtiger Hintergrundfarbe in der Mitte des Bildschirms, darin enthalten sind auch die Buttons.
Soweit funtioniert das, ich möchte nun auch gerne eine modale MessageBox nachbilden, d. h. der User kann auf der Website nichts andres machen, solange nicht einer der Buttons der Messagebox betätigt wurde. Dazu muss ich den Fokus irgend wie innerhalb einiger bestimmter Elemente halten.
Da ich das ganze als unabhängige Komponente entwickeln möchte, soll es eben auch funktionieren, ohne die sonstigen auf der Site vorhandenen Elemente in irgend einer Weise beeinflussen zu müssen.

Das Problem ist, dass ich nur die Events der erlaubten Elemente dafür benutzen kann, nicht die der restlichen. D. h., in diesem Fall geht es nicht, dass jedes Formularelement bei onFocus eine Funktion aufruft und die ID überprüft. Ich bräuchte eine Methode, mit der ich bei onBlur abfragen kann, welches Element nun den Fokus erhält.

ich weiß nicht, in weit fokus-events "bubbeln", bzw. ob man aus einem vorfahrenelement heraus noch den auslöser feststellen kann; evtl. geht da was über das event-objekt.

da gibts nur weitere Details zu den Mouse und Key events. Mit dem key event könnte ich abfragen, ob die tab taste gedrückt wurde und dann evtl. reagieren, bei den mouse events bliebe nur der Umweg über die Koordinaten zu berechnen, ob der klick innerhalb der box war. Und um das tun zu können, müsste ich wieder alle clicks abfangen, also einen handler für <body> definieren, was kaum möglich sein wird.

Aber danke für den Versuch!