Javascript 为什么不';这些Dojo悬停事件不起作用吗?
我是Dojo的新手(对jQuery很有经验),我正在添加/删除一些类,这些类将改变主导航链接和下拉列表的样式 以下是我编写的代码:Javascript 为什么不';这些Dojo悬停事件不起作用吗?,javascript,dojo,dom-events,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),
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');
});
});
});
没有运行放入事件处理程序的代码(console.log,alert)。链接
和悬停切换
的值正确
我做错什么了吗?
附带问题:有没有一种更符合Dojo习惯的方法来执行此操作?Dojo.query()
返回节点列表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');
});
});
});
dojo.query()
返回节点列表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');
});
});
});