Bootstrap鼠标悬停展开子菜单
这个是自己这两天弄一个客户网站时候碰到了一个问题,先前没用过Bootstrap的JS文件,折腾了好一会儿,虽然不是100%完美,也算解决了问题;在这里把问题处理办法记录一下,方便日后再次碰到问题后的处理;方案一 · Bootstrap.js源码修改如果是未压缩过的Bootstrap.js,则在约第9···...
扫码分享二维码
这个是自己这两天弄一个客户网站时候碰到了一个问题,先前没用过Bootstrap的JS文件,折腾了好一会儿,虽然不是100%完美,也算解决了问题;在这里把问题处理办法记录一下,方便日后再次碰到问题后的处理;方案一 · Bootstrap.js源码修改如果是未压缩过的Bootstrap.js,则在约第9···...
扫码分享二维码
这个是自己这两天弄一个客户网站时候碰到了一个问题,先前没用过Bootstrap的JS文件,折腾了好一会儿,虽然不是100%完美,也算解决了问题;在这里把问题处理办法记录一下,方便日后再次碰到问题后的处理;
方案一 · Bootstrap.js源码修改
如果是未压缩过的Bootstrap.js,则在约第908~913行左右可以找到以下代码:
$(document)
.on('click.bs.dropdown.data-api', clearMenus)
.on('click.bs.dropdown.data-api', '.dropdown form', function (e) { e.stopPropagation() })
.on('click.bs.dropdown.data-api', toggle, Dropdown.prototype.toggle)
.on('keydown.bs.dropdown.data-api', toggle, Dropdown.prototype.keydown)
.on('keydown.bs.dropdown.data-api', '.dropdown-menu', Dropdown.prototype.keydown)
如果是被压缩过的Bootstrap.js文件,则直接搜索:
on('click.bs.dropdown.data-api找到JS里面的以上代码,一起三处,将其中的【on】改为【off】,改后如下:
$(document)
.off('click.bs.dropdown.data-api', clearMenus)
.off('click.bs.dropdown.data-api', '.dropdown form', function (e) { e.stopPropagation() })
.off('click.bs.dropdown.data-api', toggle, Dropdown.prototype.toggle)
.on('keydown.bs.dropdown.data-api', toggle, Dropdown.prototype.keydown)
.on('keydown.bs.dropdown.data-api', '.dropdown-menu', Dropdown.prototype.keydown)之后在当前菜单所属页面增加以下样式:
<style>
.navbar .nav > li:hover .dropdown-menu {
display: block;
}
</style>优点:由原来的点击打开子菜单,切换为悬停;
缺点:无法点击子菜单,当鼠标移开主菜单后,子菜单消失;
方案二 · Bootstrap.js源码修改
如果是被压缩过的Bootstrap.js文件,则直接搜索:
click.bs.dropdown
将其中的【click】改为【mouseover】
也可快速实现鼠标悬停出现子菜单的效果;
优点:由原来的点击打开子菜单,切换为悬停;
缺点:无法点击子菜单,当鼠标移开主菜单后,子菜单消失;
方案三· Bootstrap.js源码修改
Bootstrap中的导航条默认鼠标点击才会显示子菜单,可以通过如下脚本修改默认行为,使得鼠标悬停展开子菜单。
<script>
$(function(){
//鼠标移入和移出,显示或隐藏子菜单
$("li.dropdown").mouseover(function () {
$(this).children(".dropdown-menu").show();
}).mouseout(function () {
$(this).children(".dropdown-menu").hide();
});
//点击子菜单项的时候隐藏子菜单
$(".dropdown-item").click(function () {
$(this).parent(".dropdown-menu").hide();
});
});
</script>直接将以上代码放到目标页面的body区域即可;
优点:由原来的点击打开子菜单,切换为悬停,且可以子菜单正常点击的同时,主菜单亦能正常点击;
缺点:当鼠标移开主菜单后,子菜单未消失
Copyright Notice
当前文章由【付涛】本人原创开发与文案内容写作,内容版权归当前平台所有,如需转载,请务必注明来源及链接,谢谢合作!
本文最后更新发布于【2022-12-24】,某些文章具有时效性,若有错误或已失效,请联系客服
争议处理:针对本站内容若有异义,亦可直接与【法律顾问:易兴俊,律师联系电话:13825799821】直接联系沟通