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 相关文章推荐
web 页面分页打印的实现
Jun 22 Javascript
基于JavaScript实现继承机制之构造函数+原型链混合方式的使用详解
May 07 Javascript
ECMAScript5中的对象存取器属性:getter和setter介绍
Dec 08 Javascript
jquery利用拖拽方式在图片上添加热链接
Nov 24 Javascript
全面解析Bootstrap中transition、affix的使用方法
May 30 Javascript
JS实现的相册图片左右滚动完整实例
Nov 23 Javascript
bootstrap daterangepicker双日历时间段选择控件详解
Jun 15 Javascript
vue中各组件之间传递数据的方法示例
Jul 27 Javascript
JS算法题之查找数字在数组中的索引位置
May 15 Javascript
如何用原生js写一个弹窗消息提醒插件
May 24 Javascript
原生js实现ajax请求和JSONP跨域请求操作示例
Mar 14 Javascript
vue+echarts实现动态折线图的方法与注意
Sep 01 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
PHP Smarty生成EXCEL文档的代码
2008/08/23 PHP
str_replace只替换一次字符串的方法
2013/04/09 PHP
PHP 获取远程文件大小的3种解决方法
2013/07/11 PHP
详解PHP的Yii框架中日志的相关配置及使用
2015/12/08 PHP
PHP实现将几张照片拼接到一起的合成图片功能【便于整体打印输出】
2017/11/14 PHP
php生成二维码不保存服务器还有下载功能的实现代码
2018/08/09 PHP
Codeigniter里的无刷新上传的实现代码
2019/04/14 PHP
取得父标签
2006/11/14 Javascript
避免回车键导致的页面无意义刷新的解决方法
2011/04/12 Javascript
AngularJS学习笔记之基本指令(init、repeat)
2015/06/16 Javascript
js+html5实现的自由落体运动效果代码
2016/01/28 Javascript
javascript计时器编写过程与实现方法
2016/02/29 Javascript
Vue.js系列之vue-router(上)(3)
2017/01/03 Javascript
JavaScript实现QQ聊天消息展示和评论提交功能
2017/05/22 Javascript
vue的事件绑定与方法详解
2017/08/16 Javascript
学习JS中的DOM节点以及操作
2018/04/30 Javascript
JS中Promise函数then的奥秘探究
2018/07/30 Javascript
js中事件对象和事件委托的介绍
2019/01/21 Javascript
JavaScript 性能提升之路(推荐)
2019/04/10 Javascript
详解如何理解vue的key属性
2019/04/14 Javascript
TypeScript类型声明书写详解
2019/08/28 Javascript
Python 条件判断的缩写方法
2008/09/06 Python
python替换字符串中的子串图文步骤
2019/06/19 Python
Flask教程之重定向与错误处理实例分析
2019/08/01 Python
用python的turtle模块实现给女票画个小心心
2019/11/23 Python
Python使用ElementTree美化XML格式的操作
2020/03/06 Python
TensorFlow固化模型的实现操作
2020/05/26 Python
Python类型转换的魔术方法详解
2020/12/23 Python
iPhoneX安全区域(Safe Area)底部小黑条在微信小程序和H5的屏幕适配
2020/04/08 HTML / CSS
世界领先的电子书网站:eBooks.com(在线购买小说、非小说和教科书)
2019/03/30 全球购物
Brydge英国:适用于Apple iPad和Microsoft Surface Pro的蓝牙键盘
2019/05/16 全球购物
大学生预备党员自我评价分享
2013/11/16 职场文书
高一物理教学反思
2014/01/24 职场文书
王老吉广告词
2014/03/20 职场文书
2014年护士个人工作总结
2014/11/11 职场文书
2019年圣诞节祝福语集锦
2019/12/25 职场文书