gpt4 book ai didi

Javascript 模式 : Conditional event handler

转载 作者:行者123 更新时间:2023-11-30 10:50:45 26 4
gpt4 key购买 nike

给出例如某种类型的类实例具有状态(例如“事件”、“非事件”等)。该实例还将点击事件附加到例如一个链接,但事件处理程序根据实例的状态做一些不同的事情。

伪代码:

IF instance state IS 'active' AND link is clicked THEN call function A
IF instance state IS 'inactive' AND link is clicked THEN call function B

我想知道什么是正确处理这种情况的良好做法:

  • 通常使用哪些模式来实现这一目标?
  • 您是否在事件处理程序中使用条件?
  • 或者当状态改变时绑定(bind)和解除绑定(bind)处理程序?
  • 我是否遗漏了一些明显的其他/更好的解决方案?

更新

在阅读到目前为止的答案时,似乎有一种在处理程序中使用条件的强烈趋势。虽然我暗暗希望我可能错过了一个替代方案,但我已经预料到了这一点。

我喜欢@J-P 的方法,因为它分别保持方法和状态的配对,这似乎比简单的 switchif/else 语句更具可扩展性和可维护性.但是,我很想知道这个问题是否在其他地方以不同的方式解决,也许使用来自不同语言的示例?

最佳答案

通常使用哪些模式来实现这一目标?类似于 this
您是否在事件处理程序中使用条件?是的,看例子
或者当状态改变时绑定(bind)和解除绑定(bind)处理程序?不,但这是可能的。
我是否遗漏了一些明显的其他/更好的解决方案?我不这么认为

关于Javascript 模式 : Conditional event handler,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/5471607/

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