molily: Problem mit onclick in Opera 9

Beitrag lesen

Als einziger Browser (der genannten) interpretiert Opera den Aufruf im onclick-Attribut offenbar als

this.selectionStart()


> was natürlich nicht klappen kann.  
  
Jein, er ist nicht der einzige Browser. Für den JS-Code in Event-Handler-Attributen liegt das Elementobjekt als erstes in der Scope Chain. Beim Auflösen von Identifiern wie »selectionStart« wird also zuerst beim Elementobjekt geschaut, ob dort ein entsprechender Member existiert. Das machen prinzipiell auch andere Browser. Nur offenbar haben die anderen Browser eine Fehlererkennung drin: »Wenn this.selectionStart existiert, aber keine Funktion ist, meint der Programmierer sicher nicht diese Eigenschaft, sondern eine bei einem anderen Objekt in der Scope Chain.« So eine Fehlererkennung ist aber nirgendwo spezifiziert. Was du tun kannst:  
  
- Verzicht auf Inline-Event-Handler.  
- Globale Funktionen sind Methoden des window-Objektes und als solche kann man sie ansprechen: window.meineGlobaleFunktion(). Das ist eindeutiger als bloß meineGlobaleFunktion.  
  
Mathias

-- 
[JavaScript-Erweiterung für das SELFHTML-Forum](http://forum.de.selfhtml.org/js/doku/)