为什么这些Dojo悬停事件不起作用?

Ben*_*use 1 javascript dojo dom-events

我是一个项目的Dojo(在jQuery方面很有经验)的新手,我正在努力添加/删除一些将改变主导航链接和下拉列表样式的类.

这是我写的代码:

dojo.addOnLoad(function() {
    dojo.query('#primary-nav > ul > li > div').forEach(function(container) {
        var hoverToggles = dojo.query('> a, > ul', container),
            link = dojo.query('> a', container);

        dojo.connect(link, 'onmouseover', function() {
            dojo.addClass(hoverToggles, 'hover');
        });

        dojo.connect(link, 'onmouseout', function() {           
            dojo.removeClass(hoverToggles, 'hover');
        });
    });
});
Run Code Online (Sandbox Code Playgroud)

没有放入事件处理程序的代码(console.log,alert).价值观linkhoverToggles正确.

我在这里做错了吗?附带问题:是否有更多的Dojo惯用方法?

Eug*_*kin 5

dojo.query()返回一个NodeList.dojo.addClass()其余的工作与DOM节点.

尝试类似的东西:

dojo.addOnLoad(function() {
  dojo.query('#primary-nav > ul > li > div').forEach(function(container) {
    var hoverToggles = dojo.query('> a, > ul', container),
        link = dojo.query('> a', container);

    link.onmouseover(function() {
      hoverToggles.addClass('hover');
    });

    link.onmouseout(function() {            
      hoverToggles.removeClass('hover');
    });
  });
});
Run Code Online (Sandbox Code Playgroud)