Bootstrap导航条可点击和鼠标悬停显示下拉菜单的实现代码


Posted in Javascript onJune 23, 2016

使用Bootstrap导航条组件时,如果你的导航条带有下拉菜单,那么这个带下拉菜单的导航在点击时只会浮出下拉菜单,它本身的href属性会失效,也就是失去了超链接功能,这并不是我想要的,我希望导航条的链接可以正常打开它的链接,但又需要下拉菜单功能,开始折腾~

首先解决带下拉菜单的导航条可以点击问题,下拉菜单效果是JS实现的,分析bootstrap.js文件发现,Bootstrap把下拉菜单写成了一个JQuery插件,在dropdown代码段中找到了关键的几句:

// APPLY TO STANDARD DROPDOWN ELEMENTS
// ===================================
$(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 + ', [role=menu]' , Dropdown.prototype.keydown)

找到几句关键代码后,想到了解决办法,只要把其中click.bs.dropdown.data-api事件关闭就OK了,代码如下:

$(document).ready(function(){
$(document).off('click.bs.dropdown.data-api');
});

以上代码测试有效,导航条可点击问题解决,下面解决鼠标悬停弹下拉菜单问题,这个相对简单些,用JQuery的鼠标事件就可实现,代码如下:

$(document).ready(function(){
dropdownOpen();//调用
});
/**
* 鼠标划过就展开子菜单,免得需要点击才能展开
*/
function dropdownOpen() {
var $dropdownLi = $('li.dropdown');
$dropdownLi.mouseover(function() {
$(this).addClass('open');
}).mouseout(function() {
$(this).removeClass('open');
});
}

以上所述是小编给大家介绍的Bootstrap导航条可点击和鼠标悬停显示下拉菜单的实现代码,希望对大家有所帮助,如果大家有任何疑问请给我留言,小编会及时回复大家的。在此也非常感谢大家对三水点靠木网站的支持!

Javascript 相关文章推荐
document.designMode的功能与使用方法介绍
Nov 22 Javascript
关于jQuery新的事件绑定机制on()的使用技巧
Apr 26 Javascript
js实现拉伸拖动iframe的具体代码
Aug 03 Javascript
Express作者TJ告别Node.js奔向Go
Jul 14 Javascript
JavaScript获取鼠标移动时的坐标(兼容IE8、chome谷歌、Firefox)
Sep 13 Javascript
浅谈Javascript变量作用域问题
Dec 16 Javascript
浅谈jQuery中的checkbox问题
Aug 10 Javascript
angular和BootStrap3实现购物车功能
Jan 25 Javascript
用ES6写全屏滚动插件的示例代码
May 02 Javascript
微信小程序调用天气接口并且渲染在页面过程详解
Jun 24 Javascript
jquery获取并修改触发事件的DOM元素示例【基于target 属性】
Oct 10 jQuery
js实现简单抽奖功能
Nov 24 Javascript
Bootstrap弹出带合法性检查的登录框实例代码【推荐】
Jun 23 #Javascript
JS留言功能的简单实现案例(推荐)
Jun 23 #Javascript
Bootstrap实现登录校验表单(带验证码)
Jun 23 #Javascript
JavaScript自学笔记(必看篇)
Jun 23 #Javascript
Bootstrap中文本框的宽度变窄并且加入一副验证码图片的实现方法
Jun 23 #Javascript
JS使用JSON作为参数实例分析
Jun 23 #Javascript
浅析Bootstrap表格的使用
Jun 23 #Javascript
You might like
计数器详细设计
2006/10/09 PHP
php中用数组的方法设置cookies
2011/04/21 PHP
PHP flock 文件锁详细介绍
2012/12/29 PHP
php截取字符串函数分享
2015/02/02 PHP
PHP实现简单汉字验证码
2015/07/28 PHP
理解php依赖注入和控制反转
2016/05/11 PHP
PHP如何通过带尾指针的链表实现'队列'
2020/10/22 PHP
Flex通过JS获取客户端IP和计算机名的实例代码
2013/11/21 Javascript
一款基于jQuery的图片场景标注提示弹窗特效
2015/01/05 Javascript
使用RequireJS优化JavaScript引用代码的方法
2015/07/01 Javascript
详解Javascript事件驱动编程
2016/01/03 Javascript
jQuery防止重复绑定事件的解决方法
2016/05/14 Javascript
js提交form表单,并传递参数的实现方法
2016/05/25 Javascript
使用jQuery监听扫码枪输入并禁止手动输入的实现方法(推荐)
2017/03/21 jQuery
Vue2组件tree实现无限级树形菜单
2017/03/29 Javascript
js实现图片放大并跟随鼠标移动特效
2019/01/18 Javascript
js判断在哪个浏览器打开项目的方法
2020/01/21 Javascript
JavaScript实现简易计算器小功能
2020/10/22 Javascript
解决ant design vue 表格a-table二次封装,slots渲染的问题
2020/10/28 Javascript
从零学Python之入门(三)序列
2014/05/25 Python
python检测主机的连通性并记录到文件的实例
2018/06/21 Python
Python爬虫框架scrapy实现downloader_middleware设置proxy代理功能示例
2018/08/04 Python
使用python判断jpeg图片的完整性实例
2019/06/10 Python
python将excel转换为csv的代码方法总结
2019/07/03 Python
PyCharm第一次安装及使用教程
2020/01/08 Python
python3操作注册表的方法(Url protocol)
2020/02/05 Python
深入了解canvas在移动端绘制模糊的问题解决
2019/04/30 HTML / CSS
北京泡泡网网络有限公司.net面试题
2012/07/17 面试题
中学生关于梦想的演讲稿
2014/08/22 职场文书
人大代表选举标语
2014/10/07 职场文书
在CSS中映射鼠标位置并实现通过鼠标移动控制页面元素效果(实例代码)
2021/04/22 HTML / CSS
MySQL8.0升级的踩坑历险记
2021/11/01 MySQL
css filter和getUserMedia的联合使用
2022/02/24 HTML / CSS
基于Python编写简易版的天天跑酷游戏的示例代码
2022/03/23 Python
MySQL磁盘碎片整理实例演示
2022/04/03 MySQL
Apache Hudi 加速传统的批处理模式
2022/04/24 Servers