gpt4 book ai didi

javascript - SmartyStreets jQuery.liveaddress插件,如何解除事件绑定(bind)

转载 作者:行者123 更新时间:2023-12-03 07:49:54 26 4
gpt4 key购买 nike

我在 Angular 单页应用程序中使用 smarty street jquery.liveaddress 插件。当我转换到下一页时,我需要从 liveaddress 实例中解除所有事件监听器的绑定(bind)。现在,如果我返回页面,所有事件都会触发两次,然后下次在页面上时,会触发三次。

我已经尝试了所有我能想到的方法。我的最后一个解决方案是从 $(document) 中解除所有事件名称的绑定(bind),因为它看起来就是插件将所有事件附加到的位置。但即使这样也行不通。

jQuery(document).unbind("AddressChanged");
jQuery(document).unbind("AutocompleteUsed");
jQuery(document).unbind("VerificationInvoked");
jQuery(document).unbind("RequestSubmitted");
jQuery(document).unbind("ResponseReceived");
jQuery(document).unbind("RequestTimedOut");
jQuery(document).unbind("AddressWasValid");
jQuery(document).unbind("AddressWasAmbiguous");
jQuery(document).unbind("AddressWasInvalid");
jQuery(document).unbind("AddressWasMissingSecondary");
jQuery(document).unbind("OriginalInputSelected");
jQuery(document).unbind("UsedSuggestedAddress");
jQuery(document).unbind("InvalidAddressRejected");
jQuery(document).unbind("AddressAccepted");
jQuery(document).unbind("Completed");

最佳答案

对于任何尝试在 Angular 应用程序中实现 SmartyStreets jquery.liveaddress 插件的人来说都可以。

诀窍是不注册匿名事件处理程序。

在我的例子中,我在指令中实例化 SmartyStreets,因此将所有事件处理程序放在范围内,并在 $destroy 上调用 liveAddress.deactivate() 。不再有重复的事件。

关于javascript - SmartyStreets jQuery.liveaddress插件,如何解除事件绑定(bind),我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/35048330/

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