您好我有问题并且错误说明: - "错误:目标必须是事件发射器。" 如果fire变量发生了变化并且selectHandler被恢复,那么不应该触发方法 - toggleDropDown和focus?
以下是我的代码: -
var fire = false;
var toggle1, toggle2 = true;
var select = new Select
({
store:storeA
}, 'node_Select');
select.startup();
fire = true;
var switchStore = new button
({
onClick: function()
{if (toggle1)
{
select.setStore(storeB);
toggle1 = false;
}
else
{
select.setStore(storeA);
toggle1 = true;
}
fire = true;
}
}, 'node_switchStore');
switchStore.startup();
var selectHandler = on.pausable(fire, 'change' function()
{
if(fire)
{
select.toggleDropDown();
select.focus();
fire=false;
}
})
var switchPause = new button
({
onClick: function()
{if (toggle2)
{
selectHandler.resume();
toggle2 = false;
}
else
{
selectHandler.pause();
toggle2 = true;
}
}
}, 'node_switchPause');
switchPause.startup();
什么是事件发射器?只输入更改,按钮和DOM元素'事件? 似乎火变量不是事件发射器,不是吗? 请指教 克莱门特
答案 0 :(得分:0)
这与这一行有关:
var selectHandler = on.pausable(fire, 'change' function()
你正试图听一种javascripts原始类型,布尔值。为了" dojo / on"要工作,它必须听取可以触发事件的事情。根据我在您的代码示例中看到的内容,您可能需要的是一个处理" fire"变量。这样的事情怎么样:
var openFire = function() {
select.toggleDropDown();
select.focus();
fire = false;
}
现在而不是设置
fire=true;
你可以打电话
openFire();