【问题标题】:launch modal with dynamically added button带有动态添加按钮的启动模式
【发布时间】:2016-11-03 16:27:34
【问题描述】:

我正在尝试使用动态添加的按钮触发模式,但单击事件不起作用。

这是一个代码示例,我用它在 jquery 表中添加按钮

var button = "<button data-original-title='View' type='submit' data-hover='tooltip' data-placement='top' title='' data-toggle='modal' data-target='#properties" + property['_id'] + "' class='btn btn-default'><img src='images/home-icon.svg' height='20' width='20'></button>"

当我想启动警报但不知道如何触发模式时,下面的脚本可以工作

$('body').on('click', '#properties-table td:last-of-type button', function(){
   alert('fdsfasdf')
})

【问题讨论】:

  • 你使用的是什么版本的引导程序?
  • @Harry Bomrah v3.3.5
  • 你能告诉我们模态的 div 代码吗?我已经设置了一个虚拟 jsfiddle,并且您的代码有效,请检查:jsfiddle.net/p3q9bmf5
  • @Himanshu Tyagi 嗨,我看到你的代码有效,我用你的简单测试模式测试了我的代码,但仍然无法正常工作,所以问题更深入:(
  • 发布您的整个相关代码片段。包括html。

标签: javascript jquery twitter-bootstrap bootstrap-modal


【解决方案1】:

您的代码将无法工作,因为您在引导程序绑定所有事件后添加了按钮。因此,当引导程序添加事件侦听器时,它找不到您的按钮,因此没有附加任何事件。我建议你使用js的方式来启动modal。

在你的 JS 中

$('body').on('click', '#properties-table td:last-of-type button', function(){
  $($(this).data("target")).modal("show");
}

这应该可行。我已经更新了@Himanshu Tyagi fiddle https://jsfiddle.net/p3q9bmf5/1/

【讨论】:

  • 我了解您,并且我看到您的代码有效,但是当我尝试对那些在页面加载模式中添加的记录立即打开和关闭以及动态添加的记录时,它仍然无法正常工作。也就是说,我们的代码存在严重问题,需要更深入的分析
猜你喜欢
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 2021-06-06
  • 2016-05-24
  • 1970-01-01
  • 1970-01-01
相关资源
最近更新 更多