Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/jquery/70.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Javascript 追加Jquery后的绑定单击事件不起作用_Javascript_Jquery_Html_Ajax - Fatal编程技术网

Javascript 追加Jquery后的绑定单击事件不起作用

Javascript 追加Jquery后的绑定单击事件不起作用,javascript,jquery,html,ajax,Javascript,Jquery,Html,Ajax,我有一个模式框,当在表格中单击加号图标时,它会弹出弹出窗口。加载页面后,表中显示五行,单击加号打开模式框。(效果很好) 但是现在我们正在通过AJAX调用更改表的内容。一旦TR被新的TR取代,加号就不再起作用了 我知道事件处理程序 表: <table class="table table-hover" id="carsTable"> <thead> <tr> <th>Car Title</th>

我有一个模式框,当在表格中单击加号图标时,它会弹出弹出窗口。加载页面后,表中显示五行,单击加号打开模式框。(效果很好)

但是现在我们正在通过AJAX调用更改表的内容。一旦TR被新的TR取代,加号就不再起作用了

我知道事件处理程序

表:

<table class="table table-hover" id="carsTable">
    <thead>
    <tr>
        <th>Car Title</th>
        <th>Actions</th>
    </tr>
    </thead>
    <tbody>
        <tr id="car-1836">
            <td>ferrari f50</td>
            <td><a href="#" class="black-modal-80" id="5269327"><i class="glyph-icon icon-plus-circle">+</i></a></td>
        </tr>
    </tbody>
    <tfoot>
    <tr>
        <th>Product Title</th>
        <th>Actions</th>
    </tr>
    </tfoot>
</table>

装订有什么问题

当您向窗口追加内容时,该元素在运行jQuery之前不存在。这意味着定义单击事件时,单击事件指向的元素不存在。因此,您可以像这样使用主体作为选择器

$('body').on('click', '.black-modal-80', function () {
    console.log('Click detected; modal will be displayed');
});

希望这有帮助

当您向窗口追加内容时,该元素在运行jQuery之前不存在。这意味着定义单击事件时,单击事件指向的元素不存在。因此,您可以像这样使用主体作为选择器

$('body').on('click', '.black-modal-80', function () {
    console.log('Click detected; modal will be displayed');
});

希望这有帮助

在AJAX调用之后再次调用它?我认为您的绑定是正确的,您可以绑定到
#carsTable
,因为只要DOM准备好,它就在DOM中。请看看这个。我看不出你的问题。在AJAX调用后再次调用它?我认为你的绑定是正确的,你可以绑定到
#carsTable
,因为只要DOM准备好,它就在DOM中。请看看这个。我看不出你的问题。
$('body').on('click', '.black-modal-80', function () {
    console.log('Click detected; modal will be displayed');
});