0

我想在选择事件上添加侦听器,但通过下面的代码实现两次触发事件。只有一次正确触发 javascript 核心 onClick 事件。

dojo.connect(myTabCont, "onButtonClicked", function(tabList){
    console.log(tablist);
});
dojo.connect(myTabCont, "selectChild", function(tabList){
    console.log(tablist);
});

//work fine - one click one fire
dojo.connect(myTabCont, "onClick", function(event){
    console.log(event);
});

是否有功能或错误?或者你能帮助如何解决这些功能或如何破坏这个功能|| 漏洞。

谢谢

4

2 回答 2

0

听起来像一个错误。selectChild() 是幂等的,所以调用它两次没有害处(除了像你这样连接到它的人:-)),这就是我们没有注意到问题的原因。

您可以监视 [widgetId]-selectChild 主题,该主题只会触发一次,或者在 foo == myTC.selectedChildWidget 时忽略 myTC.selectChild(foo) 调用。

于 2010-01-27T08:57:51.907 回答
0

您可以监视 [widgetId]-selectChild 主题,该主题只会触发一次,或者在 foo == myTC.selectedChildWidget 时忽略 myTC.selectChild(foo) 调用。

Stack_Container.selectChild 方法中旧选择和新选择之间的相等检查是可以的!

没有错误。注册的“selectChild”被调用两次,这是正确的行为。“selectChild”的第一次调用是由用户触发的事件,第二次调用是在 StackContainer 检查旧选择是否不等于新选择并显式触发 tabItem 时以编程方式调用。

于 2010-01-30T16:38:28.070 回答