Bootstrap:重新编写jQuery函数以处理悬停而不是单击

时间:2014-11-30 20:12:14

标签: jquery twitter-bootstrap

我正在使用bootstrap并被卡住了。 以下代码适用于点击。我怎样才能重新制作它以便悬停?我是jQuery中的菜鸟..

$(document)
.on('click.bs.button.data-api', '[data-toggle^="button"]', function (e) {
  var $btn = $(e.target)
  if (!$btn.hasClass('btn')) $btn = $btn.closest('.btn')
  Plugin.call($btn, 'toggle')
  e.preventDefault()
})
.on('focus.bs.button.data-api blur.bs.button.data-api', '[data-toggle^="button"]', function (e) {
  $(e.target).closest('.btn').toggleClass('focus', /^focus(in)?$/.test(e.type))
})
}(jQuery);

P.S。似乎重要的字符串是'[data-toggle ^ =“button”]',因为删除它会破坏功能 p.p.s.我已经阅读How to make twitter bootstrap menu dropdown on hover rather than click但它没有帮助。我宁愿不破坏我已经做过的事情

2 个答案:

答案 0 :(得分:3)

简单的解决方案,就是制作CSS

.dropdown:hover .dropdown-menu {
    display: block;
 }

答案 1 :(得分:0)

这对我有用,因为这会在Bootstrap中触发正确的事件:dropdown.js v3.3.7

<script>
    $('ul.nav li.dropdown').hover(function () {
        $(this).find('.dropdown-toggle').dropdown('toggle');
    });
</script>