javascript - 使用ajax时,jquery on click事件不起作用

标签 javascript jquery ajax

我正在使用 ajax 从我的 Google 云端硬盘上的电子表格中提取信息,然后使用以下代码以 HTML 形式显示它们:

我有这个 HTML:

        <section class="p-booking" id="booking">
            <div class="container">
                <div class="row">
                    <div class="event-box">
                        <!-- caixas puxados do drive -->
                    </div>
                </div>
        </section>

还有这个 JS:

$.getJSON(url, function (data) {


var caixasEvento = [];
caixasEvento.push('<div class="col-md-3">');
caixasEvento.push('<div data-id="' + something + '" class="box">');
caixasEvento.push('<h1 class="day">' + something + '</h1>');
caixasEvento.push('<h1 class="local">' + something + '</h1>');
caixasEvento.push('<img class="local-img" src="' + image + '">');
caixasEvento.push('</div>');
caixasEvento.push('</div>');
$('.event-box').append(caixasEvento.join(''));
});

然后每次有人点击该框时我都需要发出警报:

$('.box').on('click', function() {
    alert('test')
});

我在 html 文档底部使用了脚本链接标记。

该框通常会显示所有驱动器信息。

它不起作用。我相信这是与 ajax 相关的问题,因为如果我使用“box”类创建一个 div,警报就会起作用。

最佳答案

我猜测发生这种情况是因为当您尝试设置监听器时页面上不存在 box 元素。试试这个:

$('.event-box').on('click', '.box', function() {
  // do stuff here
});

关于javascript - 使用ajax时,jquery on click事件不起作用,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/27111649/

相关文章:

javascript - 如果用户停止滚动超过 1 秒,使导航栏返回焦点

javascript - 将 ondblclick 事件绑定(bind)到列表中的每个项目并在事件中传递该项目的值

jquery - 使用 CFC JSON 结果填充输入字段

php - 通过 GET 将 PHP 数组传递给 Javascript

javascript - 如何订购运行 ajax 的 jQuery 然后必须返回 true

javascript - angularjs 1.5 中的等待功能

javascript - Parse - Obj-C 到云代码

javascript - 快速返回错误而不退出响应

ajax - 在 Ajax 之后重新加载 AddToAny

javascript - 当元素在脚本标签下方时,为什么 javascript 不通过 id 获取元素?