gpt4 book ai didi

javascript - 仅根据函数名称从组件中删除事件监听器 - Ext Js

转载 作者:行者123 更新时间:2023-12-03 12:20:38 25 4
gpt4 key购买 nike

好吧,我有一个视口(viewport)分为两半,顶部和底部。上半部分有始终可见的组合框和输入字段,下半部分有一个带有多个选项卡的选项卡面板。

当我更改上半部分的静态组合框之一时,我将其称为组合框 A,它会在其事件处理程序 A_handler 中触发一个事件>,它将尝试在其中一个选项卡中设置另一个组合框的样式,我将其称为组合框 B,但它可能会执行以下两种操作之一。

组合框 B 在选项卡 2 上可见,而不是 1

那么:

1) 如果选项卡 1 处于事件状态,它将设置一个事件处理程序,以在选项卡 2 处于事件状态时设置组合框 B 的样式.

2)否则,它会立即设置样式。

所以问题是:初始组合框 A 可以使用两种可能的方式之一设置组合框 B 的样式,具体取决于选择,例如 red 蓝色

想象一下选项卡 1 可见的情况,我选择将 B 样式设置为 red 的选项,那么事件处理程序是为激活选项卡 2 时创建。但是,然后,在不激活选项卡 2 的情况下,我在组合 A 中再次更改选项,以使框 B蓝色 >.

此时,我需要它删除第一个事件处理程序,以便只触发一个事件处理程序。

我没有对事件处理程序的引用,但我已经命名了它们。

我已经创建了函数来获取选项卡2上的事件监听器列表,并且知道要删除的监听器的名称,因此我可以匹配名称,但是当我尝试使用选项卡的 removeListener 删除它们,所以什么也不会发生。

最佳答案

您可以将事件处理程序设置为仅工作一次:

someItem.on('event', function() {
// ... bla bla bla ...
}, scope, {single:true});

关于javascript - 仅根据函数名称从组件中删除事件监听器 - Ext Js,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/24460129/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com