次の宣言型js/dojoコードがChromeで正しく実行されています。
<div dojoType="dijit.form.TextBox">
<script type="dojo/connect" event="onKeyPress">
console.log(event);
</script>
</div>
いくつかの文字を入力すると、コンソール出力TextBox
にいくつか表示されます。KeyboardEvents
まったく同じコードはFirefoxでは実行されません。コンソール出力で次のエラーが発生します。
イベントが定義されていません
からのオブジェクトのフェッチもwindow
機能しません(同じエラー出力):
<div dojoType="dijit.form.TextBox">
<script type="dojo/connect" event="onKeyPress">
if(!event) {
event = window.event;
}
console.log(event);
</script>
</div>
(http://jsfiddle.net/pfSXF/1/)
トリックは何ですか?