首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >在页面加载后创建的新元素上应用jquery

在页面加载后创建的新元素上应用jquery
EN

Stack Overflow用户
提问于 2013-12-16 17:53:47
回答 2查看 54关注 0票数 0

我对jquery和bootstraps模式有问题。有一个带有动态表的页面和一个每次打开加载远程内容的模式。

当我第一次加载页面时,一切正常,但是当我编辑表时,更准确地说,当我添加或编辑一行时,模态函数就停止工作了。在这种情况下,浏览器直接打开远程页面read_properties.php

我就是这样调用这个模式的,每一行都有一个不同的id:

代码语言:javascript
复制
<a data-target="#id_target" href="read_properties.php?id=xx">

这是将远程内容加载到模式中的jQuery事件(我在Stackoverflow上找到了这个解决方案):

代码语言:javascript
复制
$("a[data-target=#id_target]").click(function(ev) {
  ev.preventDefault();
  var target = $(this).attr("href");

  $("#id_target .modal-body").load(target, function() { 
   $("#id_target").modal("show"); 
  });
});

感谢大家!

EN

回答 2

Stack Overflow用户

回答已采纳

发布于 2016-02-25 15:16:23

解决办法很简单。我已经编辑了第一行,并在文档体上使用了.on事件:

代码语言:javascript
复制
$(document.body).on('click', "a[data-target=#ads]", function(ev){
  ev.preventDefault();
  var target = $(this).attr("href");

  // load the url and show modal on success
  $("#ads .modal-body").load(target, function() { 
    $("#ads").modal("show"); 
  });
});
票数 0
EN

Stack Overflow用户

发布于 2013-12-16 17:57:12

尝尝这个,

代码语言:javascript
复制
$("a[data-target=#id_target]").live(function(ev) {
  ev.preventDefault();
  var target = $(this).attr("href");

  $("#id_target .modal-body").load(target, function() { 
   $("#id_target").modal("show"); 
  });
});

单击将不会绑定到动态html。所以你需要使用实时侦听器。

票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/20617477

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档