split.s: merkwürdiges Phänomen: onclick-Event auf <span>

Habe folgende Merkwürdigkeit beobachtet:

Funktioniert nur beim Firefox, aber nicht im IE:
<span onclick="Editor.execCommand('bold', false, null);">hallo</span>

Funktioniert auch im IE:
<button onclick="Editor.execCommand('bold', false, null);">hallo</button>

wo ist denn hier bitte der Unterschied?

  1. wo ist denn hier bitte der Unterschied?

    Das Element ist ein anderes - Moglicherweise wertet execCommand diesen aus.

    1. Hier siehst du mal was ich machen will:
      http://www.cstruter.com/blog/45

      Ich möchte dort die Buttons gegen SPAN-Elemente austauschen, das hat verschiedene Gründe. Allerdings funktioniert das nur im Firefox.
      Ich habe mir aber das DOM verschiedener, namenhafter WYSIWYG-Editoren angesehen und festgestellt, dass es wohl doch möglich ist <span>-tags mit onclick-event zu nutzen. Aber wo genau ist der Switch?

      1. Ich habe mir aber das DOM verschiedener, namenhafter WYSIWYG-Editoren angesehen und festgestellt, dass es wohl doch möglich ist <span>-tags mit onclick-event zu nutzen.

        Ja - aber ggf. geht das nicht mit execCommand

        Aber wo genau ist der Switch?

        Möglicherweise Intern im Browser: das Beispiel in der MSDN verwendet jedenfalls auch Button http://msdn.microsoft.com/en-us/library/ms536419(VS.85).aspx

      2. Hier siehst du mal was ich machen will:
        http://www.cstruter.com/blog/45

        Der code ist zeimlich mangelhaft. (Quirksmode, languaga Attribut)

        Ich möchte dort die Buttons gegen SPAN-Elemente austauschen, ...

        OK, aber dort kommt dein Konstrukt gar nicht vor. Du weißt wo die Fehlermeldungen im IE angezeigt werden?

        Struppi.

        1. Mein Plan ist lediglich die <input type="button" onclick""> durch <span onclick=""> zu ersetzen. Das ist ja keine große Änderung.
          Im Firefox funktioniert das auf Anhieb. Im IE erzeugt es KEINEN Fehler. Er ignoriert es einfach.

          1. Mein Plan ist lediglich die <input type="button" onclick""> durch <span onclick=""> zu ersetzen. Das ist ja keine große Änderung.

            Welchen denn? Eigentlich ist diese Verrenkungen nicht nötig.

            Im Firefox funktioniert das auf Anhieb. Im IE erzeugt es KEINEN Fehler. Er ignoriert es einfach.

            Das ist FALSCH! wie du schnell herausfinden kannst, wenn du dir mal ein alert() ausgeben läßt.

            Du hast dich zu sehr auf das onclick Event Fokusiert, so das dir nicht aufgefallen ist, das der IE den Focus verliert.

            Eine kurze suche führt direkt hierhin und da steht eine Lösung: unselectable="on"

            Struppi.

            1. Sehr hilfreich! Das unselectable ist ein brauchbarer Hinweis. Ich wusste halt auch nicht, in welcher Richtung in hätte suchen müssen. Auf die Idee mit dem Focus bin ich garnicht gekommen.
              Ein Problem habe ich aber noch:
              Ich habe den Code noch um ein Auswahlfeld ergänzt. Wie muss ich dort das unselectable ansetzen weil der Focus durch die Auswahl in einer <select>-Box automatisch dorthin wandert.

              1. Sehr hilfreich! Das unselectable ist ein brauchbarer Hinweis. Ich wusste halt auch nicht, in welcher Richtung in hätte suchen müssen. Auf die Idee mit dem Focus bin ich garnicht gekommen.

                Hast du das nicht gesehen?

                Ein Problem habe ich aber noch:
                Ich habe den Code noch um ein Auswahlfeld ergänzt. Wie muss ich dort das unselectable ansetzen weil der Focus durch die Auswahl in einer <select>-Box automatisch dorthin wandert.

                Bei mir (IE 6) nicht, bzw. stört es nicht den Aufruf.

                Struppi.

              2. Sehr hilfreich! Das unselectable ist ein brauchbarer Hinweis. Ich wusste halt auch nicht, in welcher Richtung in hätte suchen müssen. Auf die Idee mit dem Focus bin ich garnicht gekommen.

                Ach so noch was.

                Ich finde ich es ziemlich blöd, dass du erwartest das Andere für dich ein Beispiel zusammenbasteln. Nur um zu erkenen was dein Problem eigentlich ist. Hättest du z.b. ein Beispiel Online gestellt, hätte vermutlich suit schon erkannt wo's hängt.

                Eigentlich empfinde ich es sogar sehr dreist, mit welcher Selbstverständlichkeit du erwartest, dass wir Zeit für dich opfern. Also Bitte in Zukunft etwas mehr Code und Mühe beim erklären deines Problems.

                Danke.

                Struppi.