Javascript jQuery函数没有';加载动态内容后无法工作

Javascript jQuery函数没有';加载动态内容后无法工作,javascript,jquery,ajax,twitter-bootstrap,Javascript,Jquery,Ajax,Twitter Bootstrap,我正在使用下面的代码。这是bootstrap 3删除确认消息 $(document).ready(function(){ $('a.btnDelete').on('click', function (e) { e.preventDefault(); var id = $(this).closest('div').data('id'); $('#myModal').data('id', id).modal('show'); }); $('#btnDelteYes').c

我正在使用下面的代码。这是bootstrap 3删除确认消息

$(document).ready(function(){

$('a.btnDelete').on('click', function (e) {
    e.preventDefault();
    var id = $(this).closest('div').data('id');
    $('#myModal').data('id', id).modal('show');
});

$('#btnDelteYes').click(function () {
    var id = $('#myModal').data('id');
    var dataString = 'id='+ id ;
    $('[data-id=' + id + ']').parent().remove();
    $('#myModal').modal('hide');
    //ajax
    $.ajax({
type: "POST",
url: "delete.php",
data: dataString,
cache: false,
success: function(html)
{
//$(".fav-count").html(html);
$("#output").html(html);
}
});
//ajax ends
});
});
这是我正在使用的触发器元素

<div data-id="MYID"><a class="btnDelete" href="#">Delete</a></div>

我使用同一个HTML元素动态触发delete,但它不起作用


有人能告诉我正确的方法吗?

您必须使用事件委派

$(document).on("click" , '#btnDelteYes' ,function () {
基本上:在脚本运行时,将click向上绑定到某个存在的对象,当该对象被单击时,告诉它将click事件传递给#btnDelteYes元素


由于缺少信息,我无法理解您在代码上到底做了什么,但答案是:您应该对动态插入的内容使用事件委派

您必须使用事件委派

$(document).on("click" , '#btnDelteYes' ,function () {
基本上:在脚本运行时,将click向上绑定到某个存在的对象,当该对象被单击时,告诉它将click事件传递给#btnDelteYes元素

由于缺少信息,我无法理解您在代码上到底做了什么,但答案是:您应该对动态插入的内容使用事件委派,您可以试试

$('[data-id=MYID]').on('click','.btnDelteYes',function({
    e.preventDefault();
    var id = $(this).closest('div').data('id');
    $('#myModal').data('id', id).modal('show');
});
这里的
应该是硬编码的html内容,其思想是将事件委托给该包装器,而不是直接在动态元素上绑定处理程序。

您可以尝试

$('[data-id=MYID]').on('click','.btnDelteYes',function({
    e.preventDefault();
    var id = $(this).closest('div').data('id');
    $('#myModal').data('id', id).modal('show');
});

这里的
应该是硬编码的html内容,其思想是将事件委托给该包装器,而不是直接在动态元素上绑定处理程序。

。它需要一些代码调整。我使用了
$(文档)。在(“click”、'.btnDelete',function(e){
而不是
$(文档)。在(“click”、'#btndeleteyes',function(){
谢谢。我的荣幸:)为了后代的利益,请设置可接受的答案~太棒了。它需要一些代码调整。我使用了
$(文档)。在(“click”,'.btnDelete',函数(e){
而不是
$(文档)。在(“单击”,'#btndeleteyes',函数(){
谢谢。我的荣幸:)为后代着想,请设置可接受的答案~