我希望我会足够清楚,但我的情况和我想做的事情有点复杂。
我将开始用这个 jsfiddle解释我的问题
如您所见,有 3 个嵌套块。javascript 代码分为两部分:第一部分是我无法更改的(好吧,事实上我不想碰它:x)。该脚本在所有块上创建事件,并使用“return false”来停止传播(我对“e.stopPropagation”有同样的问题)。javascript 的另一部分是我正在编写的脚本。按下回车键后,我想改变点击的行为:当我点击#b(或#b 中的#c)时,我想显示“gruik”并且只显示“gruik”。为此,我杀死了其他“点击”事件(来自我无法更改的代码)并创建自己的“点击”事件。
现在,我的真实情况:“我无法更改的代码”是 highstock 库(我不想深入研究的 18,000 行代码),它创建了一些图形(在我的示例中由块表示)。我真的不知道他们是使用“live”、“bind”还是“delegate”,而且我不知道哪个块上附加了事件(图表在几个嵌套块中)。
现在我的问题:我在我的示例中杀死了一些事件,但它不适合,原因有几个:我可能会杀死(并取消绑定+取消委托)我的图形容器的所有子项中的所有“单击”事件,但怎么可能在那之后我“复活他们”?那么,第一个问题:是否有可能在杀死一个事件时将其保存在某个地方以“恢复”它?
另一种解决方案是在不杀死任何人的情况下为我自己的事件创建“最高优先级”,但我认为这在 Javascript 中是不可能的。
我希望我已经足够清楚了:/