【问题标题】:jQuery prevent change from firing when SelectList is updated with new values当使用新值更新 SelectList 时,jQuery 防止更改触发
【发布时间】:2016-05-12 13:31:42
【问题描述】:

我有一个SelectList,它附加了一个更改事件。当用户选择一个新选项时,它会通过getJSON 方法(以及其他SelectLists)更新该列表。但是,当列表更新时,jQuery 将其视为更改并在无限循环中不断触发(更改、更新、重复)。

getJSON 在列表中被调用时,我是否可以使用其他事件或阻止更改事件触发?

【问题讨论】:

  • 能否提供一些代码sn-ps

标签: javascript jquery events jquery-events selectlist


【解决方案1】:

仅从您提供的信息来看,您似乎有几个选择。

1) 使用 jQuery one() 方法而不是 on() 这样您就可以在准备好再次开始侦听更改后重新添加侦听器。

2) 您可以删除回调以防止它在您的 getJSON() 调用之前触发。然后在 json 响应返回后的回调中,将更改侦听器重新附加到您的选择元素。这与上述方法非常相似,但可能需要更多工作。

3) 您也可以在调用getJSON() 回调之前禁用选择元素。这在您的更改侦听器中,如果它在选择元素被禁用时被触发,您可以在运行逻辑之前先检查它是否被禁用。

如果您发布更多代码,那么我可以为您提供更量身定制的答案。让我知道这是否有帮助。

【讨论】:

    猜你喜欢
    • 2020-09-13
    • 2021-11-05
    • 2017-03-30
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2012-11-09
    • 2020-05-08
    • 1970-01-01
    相关资源
    最近更新 更多