基础5:显示模态不会触发“打开”回调

时间:2013-11-22 19:48:15

标签: zurb-foundation

// this should fire an alert when the reveal modal is opened by clicking "click me for a modal"
// this similar setup was working in foundation 4

$(function(){
  $(document).foundation();
  $("#myModal").foundation({
    reveal: {
      opened: function () {
        alert("open debug this should fire");
        console.log("this should log");
      }
    }
  });
});

减少了测试用例:http://codepen.io/austinpray/pen/FoqLr

模态打开很好,但没有一个回调或参数被尊重。如果我要设置animation: "none"它也不会尊重它。这里有关于新语法的东西吗? docs尚未完全更新,所以我有点黑暗。

相关文件

Reveal

The new javascript syntax

  

即时配置   对于Foundation 5的新功能,您现在可以在页面加载并且Foundation已经初始化之后重新配置插件的实例。

Upgrading to the new syntax

3 个答案:

答案 0 :(得分:3)

为了绑定到特定事件,您需要在初始化插件后显式执行此操作。以下是您更正的示例代码:

$(function(){
  $(document).foundation();
  $("#myModal").on("opened", function(){
    alert("open debug this should fire");
    console.log("this should log");
  });
});

我在您发布的codepen链接上对此进行了测试,并且确实有效。

根据我的理解,只能在初始化时配置插件选项。

答案 1 :(得分:1)

I just wanted to update this ticket for Foundation 5.5.2. The below code fires correctly.

shared_ptr

答案 2 :(得分:0)

  $(document).foundation();
  $("#myModal").on("opened", function(){
    console.log("this should log BUT ONLY ONCE");
  });

此代码不适用于嵌套弹出窗口。在最新版本中,这种调用方式是完全弃用

可以肯定的是,无论是否嵌套弹出窗口都会触发opened事件,请按照提及的方式键入代码in documentation

在我看来:

<div id="#myModal", class="reveal-modal" data-reveal=""></div>

在js文件中:

$(document).foundation();
$(document).on("opened.reveal-modal", function(){
  console.log("this should log EVEN ON NESTED POPUP");
});