【问题标题】:Click events not firing after Foundation reveal close基金会显示关闭后点击事件未触发
【发布时间】:2014-11-15 00:32:46
【问题描述】:

我有一个带有按钮的页面,单击该按钮会使用 jquery 和基础打开一个显示模式。有点像:

$(".playersScores").unbind('click').bind('click', function () {
    $('#addScore2').foundation('reveal', 'open');
    //Do some stuff
});

在模式中有一个提交按钮,单击该按钮会关闭显示,如下所示:

$(".submitButton").unbind('click').bind('click', function () {
    // do some stuff
    $('#addScore2').foundation('reveal', 'close');
});

一旦模式关闭播放器分数按钮,这一切都可以正常工作,直到页面重新加载 - 它只是停止侦听事件。

谁能指点我正确的方向?

【问题讨论】:

  • 你为什么要使用 .unbind('click') ?
  • 这是项目使用 jquery mobile 时的遗留问题 - 我正在重写它。如果我只使用 .bind('click') ,我仍然会看到同样的问题。点击或任何其他变体。
  • 最后再玩一点,问题似乎是在关闭显示后我正在调用一个函数,该函数删除并重新添加一大堆元素到 DOM - 包括 playerscores div。我试过添加 $(document).foundation();在这个函数调用中,但这不起作用

标签: jquery zurb-foundation zurb-reveal


【解决方案1】:

我曾在基金会论坛上问过这个问题:

http://foundation.zurb.com/forum/posts/17739-click-events-not-firing-after-foundation-reveal-close

我最终得到的解决方案是:

$(document).on('click', ".playersScores", function () {
    $('#addScore2').foundation('reveal', 'open');
    //Do some stuff
});

【讨论】:

    【解决方案2】:

    使用.off().on() 而不是unbind().bind(),这样您的新内容(包括新的div.playersscores)才能正确获取事件处理程序。

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 2020-12-27
      • 2013-06-03
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多