【问题标题】:Event is undefined in Firefox during dojo.connect onKeyPress在 dojo.connect onKeyPress 期间,Firefox 中的事件未定义
【发布时间】:2011-11-28 15:38:56
【问题描述】:

我有以下声明性 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 中运行。我在控制台输出中收到以下错误:

事件未定义

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/)

有什么诀窍?

【问题讨论】:

    标签: javascript events dojo dom-events onkeypress


    【解决方案1】:

    声明性 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/)

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 2011-12-01
      • 2011-05-28
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多