码农知识堂 - 1000bd
  •   Python
  •   PHP
  •   JS/TS
  •   JAVA
  •   C/C++
  •   C#
  •   GO
  •   Kotlin
  •   Swift
  • bootstrap V4.x 中 dropdown 的事件 由 click 成 hover


    文章目录

      • 1、bootstrap 版本说明
      • 2、方法1(推荐)
        • 2.1、js 代码
        • 2.2、使用说明
        • 2.3、其它参数配置
      • 3、方法2:
      • 4、转载

    1、bootstrap 版本说明

    使用 bootstrap 版本 是 V4.6.1 。

    2、方法1(推荐)

    2.1、js 代码

    bootstrap-hover-dropdown.js 内容如下:

    ;(function($, window, undefined) {    
        var $allDropdowns = $();
        $.fn.dropdownHover = function(options) {        
            $allDropdowns = $allDropdowns.add(this.parent());
           
            return this.each(function() {
                var $this = $(this).parent(),
                    defaults = {
                        delay: 200,
                        instantlyCloseOthers: true,
                    },
                    data = {
                        delay: $(this).data('delay'),
                        instantlyCloseOthers: $(this).data('close-others'),
                    },
                    settings = $.extend(true, {}, defaults, options, data),
                    timeout;
    
                $this.hover(function() {
                    if(settings.instantlyCloseOthers === true){
                        $allDropdowns.removeClass('show');
                    }
    
                    window.clearTimeout(timeout);
                    $(this).addClass('show').find(".dropdown-menu").addClass('show');
                }, function() {
                    timeout = window.setTimeout(function() {
                        $this.removeClass('show').find(".dropdown-menu").removeClass('show');
                    }, settings.delay);
                });
            });
        };
    
        $('[data-hover="dropdown"]').dropdownHover();
    })(jQuery, this);
    
    • 1
    • 2
    • 3
    • 4
    • 5
    • 6
    • 7
    • 8
    • 9
    • 10
    • 11
    • 12
    • 13
    • 14
    • 15
    • 16
    • 17
    • 18
    • 19
    • 20
    • 21
    • 22
    • 23
    • 24
    • 25
    • 26
    • 27
    • 28
    • 29
    • 30
    • 31
    • 32
    • 33
    • 34
    • 35

    说明:
    上面的 js 一定要放到 相应的 bootstrap.js 的后面(下面)。

    2.2、使用说明

    在原代码上增加 data-hover="dropdown" ,示例如下。

    <li class="dropdown">
        <a href="#" class="dropdown-toggle" data-toggle="dropdown" data-hover="dropdown" >
            Account <b class="caret">b>
        a>
        <ul class="dropdown-menu">
            <li><a tabindex="-1" href="#">My Accounta>li>
            <li class="divider">li>
            <li><a tabindex="-1" href="#">Change Emaila>li>
            <li><a tabindex="-1" href="#">Change Passworda>li>
            <li class="divider">li>
            <li><a tabindex="-1" href="#">Logouta>li>
        ul>
    li>
    
    • 1
    • 2
    • 3
    • 4
    • 5
    • 6
    • 7
    • 8
    • 9
    • 10
    • 11
    • 12
    • 13

    2.3、其它参数配置

    通过属性设置选项,通过 data-delay 和 data-close-others 。

    • data-delay :以毫秒为单位的延迟。默认为 200 毫秒。
    • data-close-others :立即关闭与激活新导航时使用的选择器匹配的所有其他下拉菜单。当您有可能重叠的下拉菜单时,效果很好。默认为 true 。

    示例

    <li class="dropdown">
        <a href="#" class="dropdown-toggle" data-toggle="dropdown" data-hover="dropdown"
        	 data-delay="1000" data-close-others="false">
            Account <b class="caret">b>
        a>
        <ul class="dropdown-menu">
            <li><a tabindex="-1" href="#">My Accounta>li>
            <li class="divider">li>
            <li><a tabindex="-1" href="#">Change Emaila>li>
            <li><a tabindex="-1" href="#">Change Passworda>li>
            <li class="divider">li>
            <li><a tabindex="-1" href="#">Logouta>li>
        ul>
    li>
    
    • 1
    • 2
    • 3
    • 4
    • 5
    • 6
    • 7
    • 8
    • 9
    • 10
    • 11
    • 12
    • 13
    • 14

    3、方法2:

    只通过 一行 CSS 代码也能解决,但是效果不太好。

    /** 下面的是扩展样式 **/
    .dropdown:hover .dropdown-menu {
      display:block;
    }
    
    • 1
    • 2
    • 3
    • 4

    4、转载

    感谢: https://github.com/ibmsoft/twitter-bootstrap-hover-dropdown

    演示:https://cameronspear.com/demos/bootstrap-hover-dropdown/

  • 相关阅读:
    Linux系统运维脚本:shell脚本实现查看本机的多种网络信息
    【echarts】如何修改折线图X轴每个刻度的间隔宽度,让拥挤的空间变大,所有坐标点的文案可以显示得下,Echarts x轴文本内容太长的几种解决方案
    Unity中Shader的深度测试ZTest
    使用Eclipse创建一个简单的servlet项目
    C/C++图形库
    从C#到Python手把手教你用Python实现内存扫描获取指定字符串
    深入MySQL索引,这篇千万不能错过
    springboot+java+vue基于微信小程序的高校餐厅食品留样管理系统#毕业设计
    java springboot在当前测试类中添加临时属性 不影响application和其他范围
    【干货】STM32通过ADC模拟看门狗实现掉电保存
  • 原文地址:https://blog.csdn.net/xiaojin21cen/article/details/127411099
  • 最新文章
  • 攻防演习之三天拿下官网站群
    数据安全治理学习——前期安全规划和安全管理体系建设
    企业安全 | 企业内一次钓鱼演练准备过程
    内网渗透测试 | Kerberos协议及其部分攻击手法
    0day的产生 | 不懂代码的"代码审计"
    安装scrcpy-client模块av模块异常,环境问题解决方案
    leetcode hot100【LeetCode 279. 完全平方数】java实现
    OpenWrt下安装Mosquitto
    AnatoMask论文汇总
    【AI日记】24.11.01 LangChain、openai api和github copilot
  • 热门文章
  • 十款代码表白小特效 一个比一个浪漫 赶紧收藏起来吧!!!
    奉劝各位学弟学妹们,该打造你的技术影响力了!
    五年了,我在 CSDN 的两个一百万。
    Java俄罗斯方块,老程序员花了一个周末,连接中学年代!
    面试官都震惊,你这网络基础可以啊!
    你真的会用百度吗?我不信 — 那些不为人知的搜索引擎语法
    心情不好的时候,用 Python 画棵樱花树送给自己吧
    通宵一晚做出来的一款类似CS的第一人称射击游戏Demo!原来做游戏也不是很难,连憨憨学妹都学会了!
    13 万字 C 语言从入门到精通保姆级教程2021 年版
    10行代码集2000张美女图,Python爬虫120例,再上征途
Copyright © 2022 侵权请联系2656653265@qq.com    京ICP备2022015340号-1
正则表达式工具 cron表达式工具 密码生成工具

京公网安备 11010502049817号