当前位置:  开发笔记 > 编程语言 > 正文

Materialize.css模式未在动态创建的元素上正确初始化

如何解决《Materialize.css模式未在动态创建的元素上正确初始化》经验,为你挑选了1个好方法。

我正在使用ajax调用使用jQuery动态地将行附加到表.我希望每行中生成的按钮显示一个模式,其中包含特定于该特定行中项目的数据.

我目前遇到以下问题:

- 当我点击第一个和第二个按钮时出现模态.但是,当我尝试关闭第二个模态时,模态中的框阴影不会消失,在刷新页面之前,我无法继续单击任何按钮.

我检查了Materialise.css文档,它提到我们需要用$(".modal-trigger")初始化模态.如果使用触发器来显示模态,则使用leanModal().我用来触发模态的ID在下面的代码中称为"营养事实".

任何帮助,将不胜感激.谢谢!!

更新:使用CodePen:http://codepen.io/mtaggart89/pen/pgbgOB

HTML:



jQuery函数创建元素:

function buildTable(foodData) {
  var itemList = foodData.list.item;
  var foodGroup, foodName, newDiv, createButton, ndbNumber, createTable, tableHead, categoryHeading, nameHeading, tr;
  $("table").addClass("bordered");
  categoryHeading = $("").html("Category");
  nameHeading = $("").html("Name");
  $("thead").append(categoryHeading).append(nameHeading);       
  for (var i = 0; i < itemList.length; i++) {
    foodGroup = $("").html(itemList[i].group);
    foodName = $("").html(itemList[i].name);
    ndbNumber = itemList[i].ndbno;
    newDiv = $("");
    createButton = $("")
                    .addClass("waves-effect waves-light btn cyan nutrition modal-trigger")
                    .attr("href", "#nutrition-facts")
                    .html("Nutrition Facts")
                    .attr('data-ndbnum', ndbNumber);
    addButton = newDiv.append(createButton);
    tr = $("").append(foodGroup).append(foodName).append(addButton);
    $("tbody").append(tr);
  }
}

jQuery事件监听器:

$(document).on('click', '.nutrition', function(e){
  e.preventDefault();
  var ndbNumber = $(this).attr('data-ndbnum');
  $(".modal-trigger").leanModal();
});

http://materializecss.com/modals.html



1> Parth Trived..:

请改变代码

$(document).on('click', '.nutrition', function(e) {
    e.preventDefault();
    var ndbNumber = $(this).attr('data-ndbnum');
    //you have to trigger modal like this
    //$(".modal-trigger").leanModal();
    $('#nutrition-facts').openModal();
  });

http://codepen.io/anon/pen/YwWwdx

推荐阅读
地之南_816
这个屌丝很懒,什么也没留下!
DevBox开发工具箱 | 专业的在线开发工具网站    京公网安备 11010802040832号  |  京ICP备19059560号-6
Copyright © 1998 - 2020 DevBox.CN. All Rights Reserved devBox.cn 开发工具箱 版权所有