Dynamisch Eventhandler einem HTML-Objekt hinzufügen
TheAdvancedUser
- dhtml
0 Jan L.0 molily
0 flashnfantasy0 molily
Hallo alle zusammen,
ich habe beim Anlegen eines Eventhandlers Probleme. Die Idee ist folgende: Es sollte im Prinzip möglich sein einem HTML-Tag, das dynamisch als Objekt generiert wird, einen Eventhandler zuzuweisen, um z.B. den Text von einer Option aus einem Auswahlfeld mit einem Textfeld zu synchronisieren. Für den IE gäbe es von MS eine Möglichkeit, aber ich würde gerne den Code für einige Browser anwenden können...
Viele Grüße
TheAdvancedUser
PS: Meine Experimente habe ich nach 1 Stunde aufgegeben :(
Hallo,
ich habe beim Anlegen eines Eventhandlers Probleme. Die Idee ist folgende: Es sollte im Prinzip möglich sein einem HTML-Tag, das dynamisch als Objekt generiert wird, einen Eventhandler zuzuweisen, um z.B. den Text von einer Option aus einem Auswahlfeld mit einem Textfeld zu synchronisieren. Für den IE gäbe es von MS eine Möglichkeit, aber ich würde gerne den Code für einige Browser anwenden können...
Vielleicht hilft dir ja http://www.quirksmode.org/js/events_advanced.html
weiter? Ansonsten mußt du mal genauer beschreiben, was du erreichen willst.
Gruß, Jan
Hallo,
Es sollte im Prinzip möglich sein einem HTML-Tag, das dynamisch als Objekt generiert wird, einen Eventhandler zuzuweisen
elementobjekt.onevent = handlerfunktion;
Für den IE gäbe es von MS eine Möglichkeit, aber ich würde gerne den Code für einige Browser anwenden können...
Was spricht gegen die einfache Methode? Hast du mehrere unabhängige Handlerfunktionen?
Mathias
Sollte für alle Browser funktionieren
function addEvent(obj, evType, fn) {
if (obj.addEventListener)
{
obj.addEventListener(evType, fn, false);
return true;
}
else if (obj.attachEvent)
{
var r = obj.attachEvent("on"+evType, fn);
return r;
}
else
{
return false;
}
}
function removeEvent(obj, evType, fn) {
if (obj.addEventListener)
{
obj.removeEventListener(evType, fn, false);
return true;
}
else if (obj.attachEvent)
{
var r = obj.detachEvent("on"+evType, fn);
return r;
}
else
{
return false;
}
}
function getEventTarget(e) {
return (e.target) ? e.target : e.srcElement
------------------------------
Bsp für HTML-Knopf, der bei Mouseover Aufleuchtet und bei Mouseout die Originalfarbe annimmt.
function ButtonEnter(e)
{
var node = getEventTarget(e);
node.style.backgroundColor = styleOfBackground(gstylehi);
}
function ButtonLeave(e)
{
var node = getEventTarget(e);
node.style.backgroundColor = styleOfBackground(gstylebu);
}
function makeButton(node)
{
addEvent(node,"mouseover",ButtonEnter);
addEvent(node,"mouseout",ButtonLeave);
}
Hallo,
function getEventTarget(e) {
return (e.target) ? e.target : e.srcElement
function ButtonEnter(e)
{
var node = getEventTarget(e);
e ist undefined im MSIE, nicht?
Der Link wurde hier ja schon gepostet: http://www.quirksmode.org/js/events_advanced.html -> http://www.quirksmode.org/js/events_access.html
Wie auch immer, ich würde erst einmal die Anforderungen klären.
Mathias