javascript - 创建新列表项时不会触发列表项点击

标签 javascript jquery

我不确定我在这里缺少什么。

当没有新项目时,我的代码工作正常。

Sample of items

但是当我编辑列表时,点击将不再触发。

Sample of edited items

这是触发的代码:

$('.coupon_options ul li').on('click', function(){
  $selectPromo.removeClass('is_show');
  $couponOptionsBox.addClass('active');

  $(this).parent().find('li a').removeClass('selected');
  $(this).find('a').addClass('selected');

  var selected = $(this).data('code');
  $couponOptionsBox.html(selected);
});

请帮忙。谢谢

最佳答案

您可以使用委托(delegate)事件将点击事件绑定(bind)到动态创建的元素。

$('.coupon_options ul').on('click','li', function() {
  $selectPromo.removeClass('is_show');
  $couponOptionsBox.addClass('active');

  $(this).parent().find('li a').removeClass('selected');
  $(this).find('a').addClass('selected');

  var selected = $(this).data('code');
  $couponOptionsBox.html(selected);
});

Working Fiddle

关于javascript - 创建新列表项时不会触发列表项点击,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/46192632/

相关文章:

javascript - Angular 2根据应用于div的类调用函数

javascript - D3拖动事件触发的频率是多少?

javascript - 如何使用ajax获取JSON键和值

JavaScript - jQuery - 我的 dataSource() 函数安全吗? - 如何测试

javascript - 使用构造函数添加和删除项目的数据结构

javascript - 正则表达式:不是一行的开头?

来自数字字符串的 Javascript 数组

jQuery:在附加 Ajax 请求后隐藏 Ajax 加载的 Div

jQuery 将 css 添加到未排序列表中的少数列表项

javascript - onchange 事件显示目标元素的所有文本值,为什么?