@@fastix®:
nuqneH
Grund ist, Du hast ein in Firefox reserviertes Wort als Funktionsname benutzt.
Wenn man SELFHML Glauben schenken darf, ist "big" kein <http://de.selfhtml.org/javascript/sprache/reserviert.htm@title=reserviertes Wort>.
Ach so. "big" konnte im Firefox kein Funktionsname sein, weil es bereits als Element mit einer ID verwendet wurde und deshalb reserviert war.
Ach so?? Das war wohl nichts.
<p id="foo">foo</p>
<p><button onclick="foo('bar')">bar</button></p>
<script type="text/javascript">[code lang=javascript]function foo(s) { alert(s); }
~~~</script>[/code]
gibt im Firefox problemlos "bar" aus. Und das auch, wenn man alle "foo" durch "big" ersetzt.
Es ist der IE, der für ein Element mit @id="foo" eine globale Variable foo anlegt:
~~~html
<p id="foo">foo</p>
<script type="text/javascript">[code lang=javascript]alert(foo);
~~~</script>[/code]
gibt im IE "[object HTMLParagraphElement]". (Und im Firefox einen Laufzeitfehler.)
Diese globale Variable kann aber überschriben werden:
~~~html
<p id="foo">foo</p>
<script type="text/javascript">[code lang=javascript]alert(foo);
~~~</script>
<p><button onclick="foo('bar')">bar</button></p>
<script type="text/javascript">`function foo(s) { alert(s); }`{:.language-javascript}</script>
<script type="text/javascript">`alert(foo);`{:.language-javascript}</script>[/code]
Anfangs wie gehabt "[object HTMLParagraphElement]", nach der Funktionsdeklaration wird "function foo(s) { alert(s); }" ausgegeben.
Und beim Click auf den Button erscheint auch im IE "bar".
Qapla'
--
Gut sein ist edel. Andere lehren, gut zu sein, ist noch edler. Und einfacher.
(Mark Twain)