javascript - 如何在 jQuery 中响应 ul li 点击

标签 javascript jquery

我在引导面板中嵌入了以下无序列表。用户在运行时动态地向其中添加项目。

<div class="row">
        <div class="col-md-2 panel panel-default">
            <div class="panel-heading">Species Seen</div>
            <div class="panel-body" style="height: 400px; overflow:auto">
                <ul id="speciesAdded" class="list-group">
                </ul>
            </div>
        </div>
</div>

我正在尝试通过 jQuery 响应用户单击其中一项:

   $(document).ready(function () {
        $('ul#speciesAdded li').click(function () {
            alert($(this).text());
        });
    })

似乎我没有正确接线,因为警报从未显示。

最佳答案

由于创建页面时您的列表项不存在,因此这些元素将无法使用所有事件,在这种情况下您需要应用 event delegation 为了将事件附加到这些新添加的列表项:

$('#speciesAdded').on('click','li',function () {
    alert($(this).text());
});

关于javascript - 如何在 jQuery 中响应 ul li 点击,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/23546947/

相关文章:

javascript - jQuery 测试图像是否具有此扩展名,否则尝试下一个

javascript - 如何从 Javascript 中的参数访问对象内的对象?

javascript - 如何将时间从 UTC 转换为 "Pacific/Easter"?

javascript - 我可以使用谷歌地图Api捕获渲染事件吗

javascript - 如何调试谁覆盖了我的 jQuery ajax 行为?

javascript - 固定列不工作

javascript - es6导出抛出解析错误: Unexpected token

javascript - 我可以在依赖数组 React JS 中使用 AND (&&) OR (||) 运算符吗

jquery - 将完整日历右标题从按钮更改为列表项

javascript - 背景颜色属性向上滑动