【问题标题】:Opening of modal causing background page to lose event bindings打开模式导致背景页面丢失事件绑定
【发布时间】:2017-07-10 23:27:23
【问题描述】:

我有一个包含模式链接的网页。

此页面顶部有一个名为#top-search 的搜索栏。 在我的主 JS 文件中,我在 ready 函数中附加了事件:

$('#top-search').keypress(function (e) {
        if (e.which == 13) {
            window.location.href = *MySearchActionHere*('#top-search').val();
            return false;
        }
    });

这工作正常,直到打开模式,然后看起来事件绑定丢失。什么可能导致这种情况发生?

【问题讨论】:

  • 你在模态中有另一个#top-search吗?
  • @Satpal nope 对 id 冲突进行了全局搜索,但没有找到!
  • @OliSmart 页面导航了吗?似乎很困惑你正在导航,还有return false;什么不导航。

标签: javascript jquery html events binding


【解决方案1】:

尝试委派您的活动

$('body').on('keypress','#top-search',function (e) {
});

【讨论】:

  • 刚试了,还是没用,谢谢。
  • 那么这意味着你的#top-search 不在页面上
猜你喜欢
  • 2014-01-27
  • 1970-01-01
  • 2013-07-31
  • 1970-01-01
  • 1970-01-01
  • 2016-02-12
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
相关资源
最近更新 更多