marko: event (z.B. onclick) dynamisch mit createAttribute setzen

Hallo,
ich will einen event-Parameter (onclick, oder ...) dynamisch per JS einem Element zuweisen.
Dies funktioniert ausnahmsweise mal im IE und NICHT im Mozilla.

Ich mache folgendes:

var el = document.createElement('h1');

var attr = document.createAttribute('onclick');

attr.nodeValue = new Function("{func('x','x','z');}");

el.setAttributeNode(attr);

Hat jemand eine Lösung?

Dank und Gruß

marko

  1. Hello out there!

    var el = document.createElement('h1');
    var attr = document.createAttribute('onclick');

    Wozu?

    el.onclick = function ()  
    {  
      func('x','x','z');  
    };
    

    See ya up the road,
    Gunnar

    --
    „Wer Gründe anhört, kommt in Gefahr nachzugeben.“ (Goethe)
    1. Weil ich in dem Moment nicht weiß, ob ich es sich um ein onclick, onmouseover oder... handelt.
      Genausowenig weiß ich, ob die Funktion willi(), billi(x), oder ... aufzurufen ist. Diese Info steht mir nur in Form von String-Variablen zur Verfügung.

      Hello out there!

      var el = document.createElement('h1');
      var attr = document.createAttribute('onclick');

      Wozu?

      el.onclick = function ()

      {
        func('x','x','z');
      };

      
      >   
      > See ya up the road,  
      > Gunnar
      
      1. Weil ich in dem Moment nicht weiß, ob ich es sich um ein onclick, onmouseover oder... handelt.
        Genausowenig weiß ich, ob die Funktion willi(), billi(x), oder ... aufzurufen ist. Diese Info steht mir nur in Form von String-Variablen zur Verfügung.

          
        el["onclick"] = new Function("func('x','x','z');");  
        
        
        1. Treffer !!!

          Vielen Dank !!!

          Weil ich in dem Moment nicht weiß, ob ich es sich um ein onclick, onmouseover oder... handelt.
          Genausowenig weiß ich, ob die Funktion willi(), billi(x), oder ... aufzurufen ist. Diese Info steht mir nur in Form von String-Variablen zur Verfügung.

          el["onclick"] = new Function("func('x','x','z');");