クリック イベントで呼び出される関数に渡されるパラメータに関して、Firefox 4 の動作に問題があります。
次の例を見てください。
<html>
<head>
<script type="text/javascript" src="https://ajax.googleapis.com/ajax/libs/mootools/1.11/mootools.js"></script>
</head>
<body>
<span id="e">Klick mich!</span>
<script type="text/javascript">
$("e").addEvent("click", function(a, b, c){
alert(this);
alert(a);
alert(b);
alert(c);
console.log(this);
console.log(a);
console.log(b);
console.log(c);
}.bind(1, [2, 3]));
</script>
</body>
</html>
これを Firefox 4 で開くと、結果は次のようになります。
- 1
- 2,3
- オブジェクト MouseEvent
- 未定義
他のブラウザーでは、結果は次のようになります。
- 1
- 2
- 3
- 未定義
ご覧のとおり、MouseEvent を関数に渡すのは Firefox 4 だけです。この動作により、多くのコードが壊れます。
解決策をご存知ですか?手伝ってくれてありがとう。
EDIT1 : Chrome は FF4 のように動作します