bootstrap中dropdown为什么不能用data-targer来触发?

发布于 2022-09-02 11:07:23 字数 518 浏览 6 评论 0

<td class="dropdown">
    <button type="button" class="btn btn-default dropdown-toggle" data-toggle="dropdown" data-target=".dropdown-menu" >
        操作
        <span class="caret"></span>
    </button>
    <ul class="dropdown-menu">
        <li><a href="">编辑</a></li>
        <li><a href="">删除</a></li>
    </ul>
</td>

如果这段代码去掉data-target就可以执行下拉,为什么?
那这个下拉菜单不加data-target就能执行,那他是怎么触发的?

如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。

扫码二维码加入Web技术交流群

发布评论

需要 登录 才能够评论, 你可以免费 注册 一个本站的账号。

评论(1

蝶…霜飞 2022-09-09 11:07:23

dropdown会先根据data-target来寻找下拉菜单,如果没有data-target这个属性,会检测href中的规则,最后会直接查找上级DOM对象中的dropdown-menu为菜单项。

dropdown.js中的相关代码如下

function getParent($this) {
    var selector = $this.attr('data-target')

    if (!selector) {
      selector = $this.attr('href')
      selector = selector && /#[A-Za-z]/.test(selector) && selector.replace(/.*(?=#[^\s]*$)/, '') // strip for ie7
    }

    var $parent = selector && $(selector)

    return $parent && $parent.length ? $parent : $this.parent()
  }
~没有更多了~
我们使用 Cookies 和其他技术来定制您的体验包括您的登录状态等。通过阅读我们的 隐私政策 了解更多相关信息。 单击 接受 或继续使用网站,即表示您同意使用 Cookies 和您的相关数据。
原文