Ludger: das onClick-Attribut im IE6

Hi,

ich versuche mit setAttribute im IE 6 das o.g. Attribut eines img umzubelegen. Leider wird nach Umbelegung kein Code ausgefuehrt.

Ich debugge mit:
alert([...].getAttribute("onClick"));
und erhalte:
function anonymus
{
Clone()
}
(merkwuerdig, eigentlich hatte das onClick-Attribut den Wert 'Clone()')

dann aendere ich den Attributwert mit:
[...].setAttribute("onclick","Cloney()");
(Man beachte das kleingeschriebene "onlick", aber mit "onClick" kann ich keine Attributaenderung erreichen.)

Ich debugge mit:
alert([...].getAttribute("onClick"));
und erhalte:
Cloney()
(Aber ein Click auf das img fuehrt nicht zur Codeausfuehrung.)

Kann man das Attribut onclick von img nicht per Javacript umbelegen? Und was hat es mit den merkwuerdigen Inhalten des Attributs auf sich?

Gruss,
Ludger

  1. Hallo Ludger

    Hi,

    ich versuche mit setAttribute im IE 6 das o.g. Attribut eines img umzubelegen. Leider wird nach Umbelegung kein Code ausgefuehrt.

    Ich debugge mit:
    alert([...].getAttribute("onClick"));

    ich verwende eigentlich immer [obejct].onclick = ....

    Kann man das Attribut onclick von img nicht per Javacript umbelegen? Und was hat es mit den merkwuerdigen Inhalten des Attributs auf sich?

    Doch kann man, mit onclick = ...

    Soweit  ich weiß - wie gesagt ich verwende die Funktion nie, gibt's im IE Probleme mit setAttribute. An sich solltest du dir aber immer die Kleinschreibweise für Attribute angewöhnen, da diese z.b. für XHTML vorgeschrieben ist

    Struppi.

    1. hi,

      Soweit  ich weiß - wie gesagt ich verwende die Funktion nie, gibt's im IE Probleme mit setAttribute.

      ja, und zwar eben durch den von dir beschriebenen sachverhalt:

      genau dann, wenn sich ein attribut direkt über
      objektreferenz.attributname = ...
      direkt setzen lässt, akzeptiert der IE setAttribute() dafür nicht.

      gruß,
      wahsaga

      --
      /voodoo.css:
      #GeorgeWBush { position:absolute; bottom:-6ft; }
  2. Lieber Ludger,

    ich habe Dein Problem selbst noch nicht gehabt, daher sind meine Ideen rein theoretischer Natur.

    ich versuche mit setAttribute im IE 6 das o.g. Attribut eines img umzubelegen. Leider wird nach Umbelegung kein Code ausgefuehrt.

    Es ist ein Unterschied, ob Du den Attributwert (den man im HTML-Quelltext nachlesen könnte) ändern willst, oder ob Du einen Eventhandler "umbiegen" willst. Da Du eine Code-Ausführung erwartest, tippe ich auf Letzteres. Also:

    Du möchtest per Javascript ein click-Event auf ein img setzen. Dazu gehst Du völlig neue Wege, denn nun interessieren Dich HTML-Attribute nicht mehr (also keine setAttribute-Geschichten mehr!), sondern nun interessiert Dich:

    • für IE
         dein_bild.attachEvent("on" + "click", meine_Funktion)
    • für Mozilla
         dein_bild.addEventListener("load", meine_Funktion, false)

    function meine_Funktion() { tue_was... ; }

    Viel Glück beim Durchsuchen des Archivs nach passenden Posts!

    Liebe Grüße aus Ellwangen,

    Felix Riesterer.

  3. Hi,

    ich versuche mit setAttribute im IE 6 das o.g. Attribut eines img umzubelegen. Leider wird nach Umbelegung kein Code ausgefuehrt.

    http://forum.de.selfhtml.org/archiv/2005/2/t100326/#m614685

    Gruesse, Joachim

    --
    Am Ende wird alles gut.