下拉列表dropdown取消默认点击隐藏及修复需要二次点击的方法
分享一下我老师大神的人工智能教程!零基础,通俗易懂!http://blog.csdn.net/jiangjunshow
也欢迎大家转载本篇文章。分享知识,造福人民,实现我们中华民族伟大复兴!
angular-ui专门为Angular项目提供了dropdown控件,指令形式为uib-dropdown。
但是有的时候我们不希望点击下拉框的内容后,下拉框就隐藏。比如,如果下拉框内容是一个折叠列表之类的话,当我们点开列表后下拉框就隐藏了,而此时我们还没有选择我们要选择的元素。
基于这种情况,我们需要对下拉框进行更多的控制。
我们整体的结构可能是这样的:
div(uib-dropdown) button.btn.btn-default(uib-dropdown-toggle) span(ng-bind="someModel") span.caret ul.dropdown-menu-right.model-group-list(uib-dropdown-menu) li div(tree-group="{{tree}}")
- 1
- 2
- 3
- 4
- 5
- 6
- 7
直接把jade文件搬来了。。可以大概看出HTML结构,uib-dropdown是angular中的指令,可以把他看作实现了Bootstrap中的dropdown控件,当点击button时,下拉框会弹出,其中包含了一个树结构列表。
取消下拉框默认点击隐藏的方法:
$(".model-group-list *").click(function (e) { e.preventDefault(); e.stopPropagation(); return false;});
- 1
- 2
- 3
- 4
- 5
取消了所有的元素点击事件,如此一来当我们点击下拉框列表中的任何内容下拉框都不会隐藏了,除非我们点击外部元素或者点击button。
这样做也有一个问题,就是如果我们想当我们选中特性元素后下拉框就隐藏,那么你可能需要这样做:
$($event.currentTarget).closest(".dropdown").removeClass("open");
- 1
点击某个特定元素后向上找寻最近的.dropdown
父元素,移除他的open class。
这样做也确实可以实现点击某些特定的元素下拉框隐藏,但是遇到个奇葩的问题,就是隐藏后再点击Button需要点击Button按钮两次才可以打开下拉框。
打开控制台观察正常情况的下拉框属性变化会发现还有个aria-expanded
属性,它会随着下拉框的打开隐藏变为true或者false,类似open class,直接的想法就是改变他的属性不就得了?
所以我们可以接着上述的代码继续改动其中的属性:
$($event.currentTarget).closest(".dropdown").removeClass("open").find(".dropdown-toggle").attr("aria-expanded", false);
- 1
大功告成了吗?并没有。。
我们这样做了之后下拉框确实隐藏了,并且查看DOM时,aria-expanded
也确实变为了false,但是依旧存在着下拉框二次点击的BUG。
啊,要疯了,求助Google和StackOverflow吧,嗯,找到一个办法。
http://stackoverflow.com/questions/24218663/avoid-having-to-double-click-to-toggle-bootstrap-dropdown
https://github.com/angular-ui/bootstrap/issues/2294
如是说:
所以我们的代码改为:
div(uib-dropdown) button.btn.btn-default(uib-dropdown-toggle data-disabled="true" data-toggle="dropdown") span(ng-bind="someModel") span.caret ul.dropdown-menu-right.model-group-list(uib-dropdown-menu) li div(tree-group="{{tree}}")
- 1
- 2
- 3
- 4
- 5
- 6
- 7
我们在按钮后多加了两个属性,data-disabled="true"
和 data-toggle="dropdown"
。
Orz,问题解决了,细心的朋友可以试着将刚才说的可能的一些无用的代码删掉试试,看看哪些才是必要的代码。
效果图:
———————-分割线 8.25——————————-
我发现代码可以简化些:
jQuery($event.currentTarget).closest(".dropdown").toggleClass("open");
- 1
给我老师的人工智能教程打call!http://blog.csdn.net/jiangjunshow
你好! 这是你第一次使用 **Markdown编辑器** 所展示的欢迎页。如果你想学习如何使用Markdown编辑器, 可以仔细阅读这篇文章,了解一下Markdown的基本语法知识。
新的改变
我们对Markdown编辑器进行了一些功能拓展与语法支持,除了标准的Markdown编辑器功能,我们增加了如下几点新功能,帮助你用它写博客:
- 全新的界面设计 ,将会带来全新的写作体验;
- 在创作中心设置你喜爱的代码高亮样式,Markdown 将代码片显示选择的高亮样式 进行展示;
- 增加了 图片拖拽 功能,你可以将本地的图片直接拖拽到编辑区域直接展示;
- 全新的 KaTeX数学公式 语法;
- 增加了支持甘特图的mermaid语法1 功能;
- 增加了 多屏幕编辑 Markdown文章功能;
- 增加了 焦点写作模式、预览模式、简洁写作模式、左右区域同步滚轮设置 等功能,功能按钮位于编辑区域与预览区域中间;
- 增加了 检查列表 功能。
功能快捷键
撤销:Ctrl/Command + Z
重做:Ctrl/Command + Y
加粗:Ctrl/Command + B
斜体:Ctrl/Command + I
标题:Ctrl/Command + Shift + H
无序列表:Ctrl/Command + Shift + U
有序列表:Ctrl/Command + Shift + O
检查列表:Ctrl/Command + Shift + C
插入代码:Ctrl/Command + Shift + K
插入链接:Ctrl/Command + Shift + L
插入图片:Ctrl/Command + Shift + G
合理的创建标题,有助于目录的生成
直接输入1次#,并按下space后,将生成1级标题。
输入2次#,并按下space后,将生成2级标题。
以此类推,我们支持6级标题。有助于使用TOC
语法后生成一个完美的目录。
如何改变文本的样式
强调文本 强调文本
加粗文本 加粗文本
标记文本
删除文本
引用文本
H2O is是液体。
210 运算结果是 1024.
插入链接与图片
链接: link.
图片:
带尺寸的图片:
当然,我们为了让用户更加便捷,我们增加了图片拖拽功能。
如何插入一段漂亮的代码片
去博客设置页面,选择一款你喜欢的代码片高亮样式,下面展示同样高亮的 代码片
.
// An highlighted block var foo = 'bar';
生成一个适合你的列表
- 项目
- 项目
- 项目
- 项目
- 项目1
- 项目2
- 项目3
- 计划任务
- 完成任务
创建一个表格
一个简单的表格是这么创建的:
项目 | Value |
---|---|
电脑 | $1600 |
手机 | $12 |
导管 | $1 |
设定内容居中、居左、居右
使用:---------:
居中
使用:----------
居左
使用----------:
居右
第一列 | 第二列 | 第三列 |
---|---|---|
第一列文本居中 | 第二列文本居右 | 第三列文本居左 |
SmartyPants
SmartyPants将ASCII标点字符转换为“智能”印刷标点HTML实体。例如:
TYPE | ASCII | HTML |
---|---|---|
Single backticks |
'Isn't this fun?'
|
‘Isn’t this fun?’ |
Quotes |
"Isn't this fun?"
|
“Isn’t this fun?” |
Dashes |
-- is en-dash, --- is em-dash
|
– is en-dash, — is em-dash |
创建一个自定义列表
- Markdown
- Text-to-HTML conversion tool
- Authors
- John
- Luke
如何创建一个注脚
一个具有注脚的文本。2
注释也是必不可少的
Markdown将文本转换为 HTML。
KaTeX数学公式
您可以使用渲染LaTeX数学表达式 KaTeX:
Gamma公式展示 Γ(n)=(n−1)!∀n∈N\Gamma(n) = (n-1)!\quad\forall n\in\mathbb NΓ(n)=(n−1)!∀n∈N 是通过欧拉积分
Γ(z)=∫0∞tz−1e−tdt .\Gamma(z) = \int_0^\infty t^{z-1}e^{-t}dt\,. Γ(z)=∫0∞tz−1e−tdt.
你可以找到更多关于的信息 LaTeX 数学表达式here.
新的甘特图功能,丰富你的文章
ganttdateFormat YYYY-MM-DDtitle Adding GANTT diagram functionality to mermaidsection 现有任务已完成 :done, des1, 2014-01-06,2014-01-08进行中 :active, des2, 2014-01-09, 3d计划一 : des3, after des2, 5d计划二 : des4, after des3, 5d
- 关于 甘特图 语法,参考 这儿,
UML 图表
可以使用UML图表进行渲染。 Mermaid. 例如下面产生的一个序列图::
这将产生一个流程图。:
- 关于 Mermaid 语法,参考 这儿,
FLowchart流程图
我们依旧会支持flowchart的流程图:
- 关于 Flowchart流程图 语法,参考 这儿.
导出与导入
导出
如果你想尝试使用此编辑器, 你可以在此篇文章任意编辑。当你完成了一篇文章的写作, 在上方工具栏找到 文章导出 ,生成一个.md文件或者.html文件进行本地保存。
导入
如果你想加载一篇你写过的.md文件或者.html文件,在上方工具栏可以选择导入功能进行对应扩展名的文件导入,
继续你的创作。
mermaid语法说明 ↩︎
注脚的解释 ↩︎
下拉列表dropdown取消默认点击隐藏及修复需要二次点击的方法相关推荐
- Unity DropDown 取消默认Value
在项目开发中,遇到美术的设计效果 想要DropDown的大部分功能又没有默认选中某一个Item的功能. 如果自己做一个Dropdown模拟效果,很难模拟DropList自动关闭的效果. 所以想到了一个 ...
- android点击隐藏控件,Android编程实现点击EditText之外的控件隐藏软键盘功能
本文实例讲述了Android编程实现点击EditText之外的控件隐藏软键盘功能.分享给大家供大家参考,具体如下: 工具类 ... public static void hideKeyboard(Co ...
- html 点击隐藏特效代码,vueJS简单的点击显示与隐藏的效果(实现代码)
下面小编就为大家带来一篇vueJS简单的点击显示与隐藏的效果[实现代码].小编觉得挺不错的,现在分享给大家,一起跟随小编过来看看吧 目前前端框架太多,接触过angular.ember,现在开始倒腾vu ...
- 小程序点击显示隐藏(点击标题,内容显示,再次点击隐藏,同时切换箭头的状态,且默认第一组的内容显示)
哈喽,大家下午好,时间过的真快,转眼啊又好长时间没写博客啦,嘿嘿最近公司比较忙,手上一直有项目需要处理,现在终于空闲了一点,赶快来一篇呀,嘿嘿~ 最近我一直在做小程序的项目,其中值得一提的是项目中有一 ...
- vue实现两重列表集合,点击显示,点击隐藏的折叠效果,(默认显示集合最新一条数据,点击展开,显示集合所有数据)...
效果图: 默认显示最新一条数据: 点击显示所有数据: 代码: 说明:这里主要是 这块用来控制显示或者隐藏 根据当前点击的 这个方法里传递的index 对应 isShow 数组里的index ,对 ...
- 【转】Yii在表单中建立关联下拉列表dropdown
转自: 应用中经常遇到需要在表单form中使用两个关联的下拉列表dropdown.其中一个下拉列表中的数据依赖于另一个下拉列表的当前值.例如填写地 址,当 我们修改'国家'下拉列表的值,'城市'列表中 ...
- WebStorm取消默认style样式折叠
WebStorm取消默认style样式折叠: File--->Settings打开一个窗口 Edit--->CodeFolding 把HTML style attribute的前面的钩去掉 ...
- 360极速浏览器取消默认迅雷下载的正确方法
最近在360极速浏览器中使用迅雷下载遇到一个问题,无法把文件直接下载到WPS网盘.在用迅雷新建下载任务时,选择文件夹无法选择WPS网盘目录,目录图标都加载不出来,如下图所示. 然后就怀疑是迅雷的问题, ...
- android点击展开内容,Android编程实现Listview点击展开和隐藏的方法
在android的开发中,listview是应用最广泛的组件之一.虽然已经启动了recycleview,但许多项目仍在使用listview,爱站技术频道小编给大家带来了Android编程实现Listv ...
- Linux文件与目录的默认权限与隐藏权限(chattr,lsattr)
文章目录 Linux文件与目录的默认权限与隐藏权限 文件默认权限:umask 文件隐藏属性 chattr(配置文件隐藏属性) 使用案例 lsattr(显示文件隐藏属性) 使用案例 文件特殊权限:SUI ...
最新文章
- Shell 变量的操作方法
- [Err] 1064 - You have an error in your SQL syntax check the manual that corresponds to 之Mysql报错
- IDL | 实验五 IDL数据可视化
- android 电视开机广告,电视广告饶过谁?国外用户亦未幸免 Android TV智能电视加入广告...
- linux 一键网克,MaxDos8下载一键Ghost|迈思工作室MaxDos工具箱下载 v8.0 官方版_最火软件站...
- ERROR 999999: Error executing function. The table name is invalid. Failed to execute (Reclassify).
- 用聊天记录当证据 对方改了微信号怎么证明他是他
- 在刚创建的云服务器如何git克隆自己的私人仓库
- 压电式雨量传感器RS485数据解析协议
- Apple Catching
- 面试官:请讲一讲IO流核心模块与基本原理是什么?
- 手风琴页面html,滑动手风琴的制作(只涉及HTML+css)
- 计算机无法装会声会影,会声会影“应用程序无法启动,因为应用程序的并行配置不正确”的解决方案-会声会影中文官网...
- Bootstrap 中使用Tooltips(不生效)
- 河南科技学院对口计算机分数线,河南科技学院09对口升学分数线
- Fusioncharts介绍
- 多传感器融合定位六-惯性导航原理及误差分析
- mic的灵敏度和声音的大小
- 云计算项目实训教学解决方案
- Ubuntu永久修改USB设备操作权限
热门文章
- 微信小程序—智能停车
- 阿里云Centos7 docker-compose + filerun + aria2 + AriaNg配置离线下载器
- hbuilder中uniapp运行微信小程序模拟器时出错
- Elasticsearch系列:番外篇-Fielddata
- mac虚拟机服务器设置u盘启动不了,mac虚拟机如何使用u盘启动盘
- 【OGG】OGG故障错误处理总结
- 获取网页标题的小图标
- grep 多条件并行满足_grep多个条件
- 谷歌pixel3axl开发者模式_谷歌推出新一代安卓系统“Android 10”
- Scratch可以参加的编程比赛大全