javascript - Bootstrap 事件按钮状态持续存在

标签 javascript css twitter-bootstrap leaflet mapbox

我使用 Bootstrap 垂直按钮组作为复选框样式的 UI 来控制 this mapbox.js-based interactive map 上的图层.层控制功能很好用,但由于某些原因,按钮:

  • 以正常状态加载(他们应该)
  • 点击时进入事件状态(他们应该这样做)
  • 下次点击它们时保持事件状态颜色(悲伤的表情符号)

看起来像这样:

bootstrap buttons

我怀疑我的 onclick 函数正在干扰 Bootstrap 按钮组的 native 行为,但我终究无法弄清楚如何做到这一点。这是我目前拥有的该功能,管理按钮类更新和 map 图层更新:

link.onclick = function(e) {
    e.preventDefault();
    e.stopPropagation();

    if (map.hasLayer(layer)) {
        map.removeLayer(layer);
        this.className = 'btn btn-primary';
    } else {
        map.addLayer(layer);
        this.className = 'active btn btn-primary';
    }
};

鉴于此,我怎样才能让我的按钮正确取消选择?

最佳答案

这应该可以修复它,只需将 stop() 函数添加到您的 else 语句中,以便它从上一个按钮中删除 active 类并将其添加到被点击的按钮中按钮。

 if (map.hasLayer(layer)) {
        map.removeLayer(layer);
        this.className = 'btn btn-primary';
    } else {
        map.addLayer(layer);
        this.stop().className = 'active btn btn-primary';
    }

关于javascript - Bootstrap 事件按钮状态持续存在,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/22751715/

相关文章:

html - 在新行上显示来自 asp :TextBox 的所有条目

javascript - Jquery 到期倒计时

javascript - 为什么按位运算符 OR 会 chop 此示例中的值?

javascript - JQuery show() 方法没有按预期工作

css - 将缩进 block 引用内的表格缩进删除到整个主体宽度

html - 如何使用 LESS 创建 10 个 CSS 类,每个类都有 10% 的深灰色背景?

jQuery Sortable Horizo​​ntal 使用不同的 HTML 标签

javascript - 无法在文本字段上设置 focus()

javascript - js gethours 和 getmonths 无法正常工作

javascript - 使用 Bootstrap 输入文件