博客
关于我
强烈建议你试试无所不能的chatGPT,快点击我
实现Bootstrap导航条可点击和鼠标悬停显示下拉菜单
阅读量:6551 次
发布时间:2019-06-24

本文共 1155 字,大约阅读时间需要 3 分钟。

  hot3.png

使用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');	});}

转载于:https://my.oschina.net/buwei/blog/496947

你可能感兴趣的文章
JNDI学习总结(1)——JNDI入门简介
查看>>
Spring的常用注解
查看>>
EMC测试
查看>>
我的友情链接
查看>>
第十章apache的安全设置
查看>>
pomelo添加过滤器
查看>>
浓缩版:云计算运维KVM监控工具之Sensu开源版
查看>>
ThinkSNS 操作成功 失败 跳转
查看>>
PHP中使用file_get_contents()抓取网页乱码的问题
查看>>
java 防止 XSS 攻击的常用方法总结
查看>>
在Java中实现MongoDB的Group功能
查看>>
oracle 11g r2 rac ssh两节点互信对等配置Permission denied (publickey,gssapi-with-mic,password)...
查看>>
我的友情链接
查看>>
java.lang.OutOfMemoryError总结
查看>>
roottools
查看>>
IIS下虚拟主机的四种使用方法
查看>>
如何学习,成为一位电脑高手
查看>>
python3_06_01.模块之os
查看>>
网页图片不存在时不显示默认图片
查看>>
排序算法笔记:希尔排序 ShellSort in java
查看>>