Beiträge von Torty

    Also das Event-Handling funktioniert in 2 Schritten:
    1.) Eventbehandlung initiieren
    2.) bei Auftreten des Events die Funktion aufrufen

    Da bei 1.) nur der Funktionsname aungegeben werden kann, ist es nicht möglich Argumente zu übergeben. Die Interna der Gecko-Engine regelt es aber, dass das Event-Objekt der Zielfunktion (hier also showMouseXY()) als Argument übergeben wird.

    Somit wird e zu einer Instanz des Event-Objektes und enthält alle relevanten Infos zu dem aufgetretenen Event (hier onMouseMove).

    Der IE hingegen macht das nicht, sondern er bietet den Direktzugriff auf event und damit wird e in der Funktion für den IE nicht gebraucht.

    Bitte erkläre nochmal kurz bei welchem Tabellenfeld was genau passieren soll.

    Bitte ändere den Code in

    Code
    ...
      document.getElementById("info").style.left=mXY[0]+15+"px";
      document.getElementById("info").style.top=mXY[1]-5+"px"; 
    ...


    Dann sollte es klappen...

    Bitte kopiere dir mein letztes Script und teste es. Die Version die du als Attachement angehangen hast, war eine vorherige Fassung, die kleine Fehler enthielt.

    Und

    Code
    <a onClick="getMouseXY();">TEST</a>


    ist auch nicht die richtige Verwendung für meine JS-Funktionen. Denn getMouseXY() liefert ja ein Array zurück.

    Also ich hab mir grad die Mozilla-Suite installiert und das Script getestet. Bei mir läuft das (erwartungsgemäß) ohne Probleme.
    Welche Version nutzt du und welche Fehlermeldung kannst du ermitteln?

    Der IE kann immer auf das allgemeine Objekt event zugreifen. Der FF übergibt an die showMouseXY das Event-Objekt. Deshalb muss es dort angegeben werden, da der Mozilla sonst keine Informationen über das Event ermitteln kann.

    Du meinst also den Mozilla-Browser, der sich vom FF unterscheidet?! Dachte die benutzen die gleiche Gecko-Engine...
    Baja ich mach mich mal schlau...

    Ok die Funktion initEventManagement hatte eine } zu wenig. Die habe ich geändert.

    Hier also die fehlerbereinigte Version:

    Also ich habe das JS in ner Datei (sagen wir mal mousexy.js) gepackt und binde die dann so ein

    Code
    <script type="text/javascript" src="mousexy.js"></script>


    Das steht bei mir auch im BODY.

    BTW: Verwende bei der Initialisierung von JS bitte das gültige Attribut type="text/javascript". Das language ist veraltet, aber kann mit stehen bleiben.

    Das liegt an der unterschiedlichen Event-Behandlung. Für den FF und den NN4 funktioniert dies ebenso unterschiedlich. Ich hatte dieses Problem vor ~2 Monaten und hab mir dann zwei Funktionen gebastelt, die das je nach verwendetem Browser passend einrichten und abfragen.
    Dieses Codebeispiel stell ich hiermit allen zur Verfügung.

    Als Rückgabewert erhält man ein Array mit 2 Elementen, die jeweils den X- & Y-Wert repräsentieren.

    Ja, ok - ich hab natürlich auch VMWare laufen und checke dort selbst mit NN4.x, aber es könnte ja sein, dass jemand ne clevere Lösung gefunden hat, die uns allen weiterhelfen kann.
    Dieser Thread ist auch ein wenig als Diskussionsgrundlage zu diesem Thema zu verstehen.

    Ich kann ja mal meine jetzige Umgebung benennen:
    * WinXP mit IE6.x
    * VMware Win98 mit IE 5.x
    * Laptop mit Ubuntu-Linux FF1.x und Konqueror
    * PowerBook mit Safari 1.2, FF 1.x und IE 4.3x

    Diese Testanordnung ist jedoch schon recht unkonfortabel. Vielleicht hat jemand ne bessere Lösung...

    Mir persönlich gefällt die Orietierung am Kastenstyle nicht so sehr. Wenn du das ein wenig dezenter gestalten könntest, wäre es sicher besser...

    BTW:
    Major-Error: Last update:
    Die meisten meinen es nur gut, aber dieses "Seiten-Feature" geht meist nur nach hinten los. Lieber weglassen!

    Hmmm...ist aber schon ziemlich weit weg von deiner 1.Version...
    Nunja, zudem war in deinem 1.Post ein Doppelfehler. Es fehlten 2 ' - so dass sich der Fehler augenscheinlich aufhob und nicht bemerkt wurde.
    1.) hinter bla*
    2.) hinter LOL.gif

    Nunja, scheint sich nun aber erledigt zu haben...

    Ok, also der letzte Codesnippsel war nur so schnell dahin geschmissen. Sorry, denn er weißt Fehler auf.
    Nun hab ich aber ein kleines Script verfasst, welches deine Aufgabe erledigt:


    Und das funktioniert diesmal auch. :wink:

    Wie wärs damit:

    Code
    $smiles=array( '*wink*' => 'wink.gif',
                   '*bla*'  => 'bla.gif',
                   '*LOL1*' => 'lol.gif',
                   '*LOL2*' => 'LOL.gif );
    
    
    foreach ($smiles as $change)
      str_replace(array_keys($change), array_values($change), $eintrag);

    Ich sehe im Code einige Aspekte die vermuten lassen, dass es einem Einsteiger nicht unbedingt leicht fallen wird. Zum einen ist hier ein klassisches Tabellenlayout umgesetzt -> die sind meist schwer zu durchschauen bzw. zu erweitern ohne das Layout zu beschädigen. Dann Bleibt freilich PHP noch zu lernen, denn ganz statisch wird sie nicht sein. Des Weiteren wäre da der größere Anteil an Javascript. Somit kann er gleich die 3.Sprache lernen.

    Ich will ihm auch nicht den Mut nehmen, aber er soll es sich nicht zu leicht vorstellen. Aber probieren kann er es. Man wächst ja bekanntlich mit seinen Aufgaben...