javascript - Bootstrap 列表项在嵌入式跨度上激活

标签 javascript jquery html css twitter-bootstrap

对不起这个标题,我找不到更好的描述方式。

我有一个列表组,希望按钮在激活时显示特定颜色。 但不知何故,嵌入的 span 捕获了点击并且似乎不算作 a 的一部分。

我该如何解决这个问题? 我希望按钮改变颜色,无论我点击哪里(在 span 或其他任何地方)

代码在这里: https://jsfiddle.net/zj6uwmvu/

谢谢

最佳答案

这是您的点击处理程序的修订代码。如果事件目标不是链接,则表示点击了子徽章。如果是这种情况,我们会找到最近的链接(父链接)并将其指定为目标。

$('.location').find('.location-picker-list .list-group-item').on('click', function(e) {
    var target = $(event.target);
    if (!target.is('a')) {
      target = target.parent('a')
    } 

  e.preventDefault()
  target.closest('.list-group').children(".active").removeClass('active')
  target.addClass('active')
})

enter image description here

https://jsfiddle.net/zj6uwmvu/11/

关于javascript - Bootstrap 列表项在嵌入式跨度上激活,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/36835800/

相关文章:

jquery - 使用 jQuery 模拟按下 Enter 键

javascript - AngularJS 元素指令上的 CSS 样式未呈现

php - 将下拉表单数据发送到php进行数据库查询

javascript - JS - 如何在特定页面执行代码

javascript - 如何获取特定的动态ID

javascript - 如何找到现有 D3 路径的投影

javascript - 如何将内联样式和类名应用于同一元素

javascript - 如何在 Google Maps InfoWindow 中创建 CSS 样式的 dom 元素?

javascript - 脚本出了什么问题?

php - 使用 CSV 文件的 JavaScript 和 JQuery 多维数组搜索