EKKi: HTML mit JAVASCRIPT-Ereignissen viel länger

Beitrag lesen

Mahlzeit,

Ersetzt man die tr-Zeile oben durch ein einfaches echo "<tr>", wird die Tabelle in etwa 1/5 der Zeit geladen. Deswegen mein Verdacht, daß es an den onmouseout/ onmouseover/ onclick-Ereignissen liegt. Seht ihr das genauso? Wenn ja, warum ist das so? Auf dieser Seite steht doch nur Text, die eigentliche Verarbeitung findet doch erst statt bei einer Mausbewegung/ einem Klick.

Jein. Die eigentliche Aktion findet erst beim Bewegen der Maus bzw. beim Klicken statt, das ist richtig. Aber der Browser muss beim Rendern der Tabelle entsprechende Event-Handler anlegen, sich also "merken", was er bei welcher Aktion, die bei/an/auf/über/bei/mit diesem Element stattfindet, machen soll. Das braucht halt seine Zeit.

WIe könnte man das lösen (evtl. Optionen des Servers?) bzw. eindämmen? Bin für jeden Ansatz dankbar!

Wie ChrisB schon schrieb: die Event-Handler erst nach dem Laden des reinen HTML-Codes per Javascript hinzufügen (ohne Anspruch auf Korrektheit oder Vollständigkeit):

  
[...]  
<script type="text/javascript">  
[code lang=js]  
function addRowHandler()  
{  
  rows = document.getElementsByTagName('TR');  
  
  for(var i = 0; i < rows.count; i++)  
  {  
    rows[i].onMouseOver = 'change_to(this);';  
    rows[i].onMouseOut = 'change_back(this);';  
    rows[i].onClick = 'docSenden(this);';  
  }  
}  

</script>
</head>

<body onload="addRowHandler();">
[...]
[/code]

MfG,
EKKi

--
sh:( fo:| ch:? rl:( br:> n4:~ ie:% mo:} va:) de:] zu:) fl:{ ss:) ls:& js:|