Dojo 1.6.2出现奇怪的firefox错误

Dojo 1.6.2出现奇怪的firefox错误,firefox,dojo,Firefox,Dojo,我用Dojo编写了以下代码。它工作正常,在除Firefox(25,26)之外的所有浏览器中都能正常工作。控制台的错误是:typeError:this.getParent()为null,这确实没有多大帮助 如果出现上述错误,onclick事件不会触发 问题可能出在哪里: var pMenu = new dijit.Menu({ targetNodeIds: [ContainerNode] }); var t = new dijit.MenuItem({

我用Dojo编写了以下代码。它工作正常,在除Firefox(25,26)之外的所有浏览器中都能正常工作。控制台的错误是:
typeError:this.getParent()为null
,这确实没有多大帮助

如果出现上述错误,onclick事件不会触发

问题可能出在哪里:

  var pMenu = new dijit.Menu({
        targetNodeIds: [ContainerNode]
    });

 var t = new dijit.MenuItem({
        label: "test",
        iconClass: "context_paste",
    });

dojo.connect(t, 'onclick', function(){alert("test")});

我创建了一个fiddle并填充了缺失的代码,但无法在Firefox25上重现错误。我所做的一些更改是:

  • 删除了
    iconClass
    行末尾的尾随逗号
  • 使用
    placeAt(pMenu)
  • 加载时运行代码。我不确定您是否根据提供的代码执行此操作


我创建了一个fiddle并填充了缺失的代码,但无法在Firefox25上重现错误。我所做的一些更改是:

  • 删除了
    iconClass
    行末尾的尾随逗号
  • 使用
    placeAt(pMenu)
  • 加载时运行代码。我不确定您是否根据提供的代码执行此操作


ContainerNode
是ID还是变量?如果是前者,它应该是一个字符串。如果是后者,它的价值是什么?到目前为止,我听说在FF 25+上旧版本的Dojo中出现与DOM相关的错误都是由于,但如果我没有弄错的话,新的1.6版本的修复程序还没有被标记。您可能想自己尝试应用它,看看它是否解决了您的问题:containerNode是一个包含DIV元素的变量。@KenFranqueiro我试图使用git中1.6 branch中应用了此更改的最新代码,但不幸的是它没有解决问题。
containerNode
是ID还是变量?如果是前者,它应该是一个字符串。如果是后者,它的价值是什么?到目前为止,我听说在FF 25+上旧版本的Dojo中出现与DOM相关的错误都是由于,但如果我没有弄错的话,新的1.6版本的修复程序还没有被标记。您可能想自己尝试应用它,看看它是否解决了您的问题:containerNode是一个包含DIV元素的变量。@KenFranqueiro我试图使用git中1.6 branch中应用了此更改的最新代码,但不幸的是,它没有解决问题。
dojo.require('dijit.Menu');
dojo.require('dijit.MenuItem');

dojo.addOnLoad(function() {
    var ContainerNode = document.getElementById('container');

    var pMenu = new dijit.Menu({
       targetNodeIds: [ContainerNode]
    });

    var t = new dijit.MenuItem({
        label: "test",
        iconClass: "context_paste"
    }).placeAt(pMenu);

    dojo.connect(t, 'onClick', function(){alert("test")});
});