событие не определено в Firefox во время dojo.connect onKeyPress - PullRequest
0 голосов
/ 28 ноября 2011

У меня есть следующий декларативный код js / dojo, правильно работающий в Chrome:

<div dojoType="dijit.form.TextBox">
    <script type="dojo/connect" event="onKeyPress">
        console.log(event);
    </script>
</div>

(http://jsfiddle.net/pfSXF/)

При вводе некоторых символов в TextBox я получаю KeyboardEventsв выводе консоли.

Точно такой же код не запускается в Firefox. Я получаю следующую ошибку в выводе консоли:

event is not defined

Получение объекта из 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/)

В чем хитрость?

1 Ответ

0 голосов
/ 29 ноября 2011

Декларативный код dojo не позволяет Firefox передавать объект event в подключенную функцию - это нужно делать вручную через атрибут args:

<div dojoType="dijit.form.TextBox">
    <script type="dojo/connect" event="onKeyPress" args="event">
        console.log(event);
    </script>
</div>

(http://jsfiddle.net/pfSXF/2/)

...