javascript - JavaScript 中的点击事件未触发

标签 javascript jquery jquery-events

我正在使用 jQuery 可排序,并且有两个列表,我将项目从一个列表移动到另一个列表。第一步只需双击即可正常工作。现在它位于第二个列表中,我希望允许用户通过单击并按删除键来删除项目。我的计划是使用一个单击事件触发器并用一个类来装饰列表项,然后当按下删除键时,它将删除具有该类的所有项目。此时,我在获取点击事件时遇到问题。由于我正在动态创建列表项,因此我使用 on event 关键字。我的第二个列表的 html 如下所示:

<div id="CartContents" class="ui-widget-content">
     <ul id="sortableArea" class="cartSortable">
     </ul>
</div>

我尝试处理点击事件的 js 如下所示:

$('.cartSortable li').on("click", function () {
    alert('here');
    $(this).toggleClass("selected");
});

警报就在那里,以便我知道它是否被击中。让我知道你认为哪里不对或者我的理解有哪些不足。

最佳答案

由于您要动态创建列表项,因此需要 delegate the event :

$('.cartSortable').on('click', 'li', function () {

或者,如果您的脚本在 <body> 之前执行:

$(document).on('click', '.cartSortable li', function () {

关于javascript - JavaScript 中的点击事件未触发,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/33760700/

相关文章:

jquery - 如何在 jquery 中不再使用 css 参数

JavaScript 在 jQuery 和 AJAX 中自动递增变量

javascript - jQuery 问题与点击嵌套创建的元素

jquery - 显示哪些事件将其绑定(bind)到一个项目?

jquery - bootstrap-datepicker 全屏显示

javascript - 使用 Math.max 和 Math.min 从数组中删除最大和最小数字

javascript - 三.min.js :2 THREE. Object3D.add : object not an instance of THREE. Object3D

javascript - 在 iPad(Safari 和 Chrome)上渲染时,为什么 Canvas 中会出现白线?

javascript - 更改另一个 Div 上的文本

javascript - 如何停止函数覆盖 javascript 对象属性并添加新属性?