dropdown.html 26 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169170171172173174175176177178179180181182183184185186187188189190191192193194195196197198199200201202203204205206207208209210211212213214215216217218219220221222223224225226227228229230231232233234235236237238239240241242243244245246247248249250251252253254255256257258259260261262263264265266267268269270271272273274275276277278279280281282283284285286287288289290291292293294295296297298299300301302303304305306307308309310311312313314315316317318319320321322323324325326327328329330331332333334335336337338339340341342343344345346347348349350351352353354355356357358359360361362363364365366367368369370371372373374375376377378379380381382383384385386387388389390391392393394395396397398399400401402403404405406407408409410411412413414415416417418419420421422423424425426427428429430431432433434435436437438439440441442443444445446447448449450451452453454455456457458459460461462463464465466467468469470471472473474475476477478479480481482483484485486487488489490491492493494495496497498499500501502503504505506507508509510511512513514515516517518519520521522523524525526527528529530531532533534535536537538539540541542543544545546547548549550551552553554555556557558559560561562563564565566567568569570571572573574575576577578579580581582583584585586587588589590591592593594595596597598599600601602603604605606607608609610611612613614615616617618619620621622623624625626627628629630631632633634635636637638639640641642643644645646647648649650651652653654655656657658659660661662663664665666667668669670671672673674675676677678679680681682683684685686687688689690691692693694695696697698699700701702703704705706707708709710711712713714715716717718719720721722723724725726727728729730731732733734735736737738739740741742743744745746747748749750751752753754755756757758759760761762763764765766767768769770771772773774775776777778779780781782783784785786787788789790791792793794795796797798799800801802803804805806807808809810811812813814815816817818819820821822823824825826827828829830831832833834835836837838839840841842843844845846847848849850851852853854855856857858859860861862863864865866867868869870871872873874875876877878879880881882883884885886887888889890891892893894895896897898899900901902903904905906907908909910911912913914915916917918919920921922923924925926927928929930931932933934935936937938939940941942943944945946947948949950951952953954955956957958959960
  1. <!DOCTYPE html>
  2. <html>
  3. <head>
  4. <meta charset="utf-8">
  5. <title>镜像站@通用下拉菜单 - 在线演示 - Layui</title>
  6. <meta name="renderer" content="webkit">
  7. <meta http-equiv="X-UA-Compatible" content="IE=edge,chrome=1">
  8. <meta name="viewport" content="width=device-width, initial-scale=1, maximum-scale=1">
  9. <meta name="apple-mobile-web-app-status-bar-style" content="black">
  10. <meta name="apple-mobile-web-app-capable" content="yes">
  11. <meta name="format-detection" content="telephone=no">
  12. <script>
  13. ;!function(){self!==parent&&(location.href="http://www.baidu.com/")}();
  14. </script>
  15. <link rel="stylesheet" href="/public/layui/dist/css/layui.css" tppabs="http://res.layui.com/layui/dist/css/layui.css?t=1632428048260" media="all">
  16. <link rel="stylesheet" href="/public/static/css/global.css" tppabs="http://res.layui.com/static/css/global.css?t=1632428048260-19" media="all">
  17. </head>
  18. <body>
  19. <div class="layui-layout layui-layout-admin">
  20. <div class="layui-header header header-demo" autumn>
  21. <div class="layui-fluid">
  22. <a class="logo" href="../index.html" tppabs="http://www.layui.com/">
  23. <img src="/public/static/images/layui/logo.png" tppabs="http://res.layui.com/static/images/layui/logo.png" alt="layui">
  24. </a>
  25. <div class="layui-form layui-hide-xs component" lay-filter="LAY-site-header-component"></div>
  26. <div class="layui-hide-xs site-notice"></div>
  27. <ul class="layui-nav" id="LAY_NAV_TOP">
  28. <li class="layui-nav-item ">
  29. <a href="../doc/index.html" tppabs="http://www.layui.com/doc/">文档</a>
  30. </li>
  31. <li class="layui-nav-item layui-this">
  32. <a href="index.html" tppabs="http://www.layui.com/demo/">示例</a>
  33. </li>
  34. <li class="layui-nav-item">
  35. <a href="javascript:;">
  36. <!--<span class="layui-badge-dot" style="left:0; right: auto; margin: -4px 0 0 5px;"></span>-->
  37. 周边
  38. </a>
  39. <dl class="layui-nav-child layui-nav-child-c">
  40. <dd class="layui-hide-sm layui-show-xs" lay-unselect>
  41. <a href="https://gitee.com/sentsin/layui/issues" target="_blank" rel="nofollow">问题反馈</a>
  42. <hr>
  43. </dd>
  44. <dd lay-unselect><a href="../alone.html" tppabs="http://www.layui.com/alone.html" target="_blank" lay-unselect>独立组件</a></dd>
  45. <dd lay-unselect><a href="../../fly.layui.com/extend/index.html" target="_blank">扩展组件</a></dd>
  46. </dl>
  47. </li>
  48. <li class="layui-nav-item layui-hide-xs">
  49. <a href="http://gitee.com/sentsin/layui/issues" target="_blank" rel="nofollow">反馈</a>
  50. </li>
  51. </ul>
  52. </div>
  53. </div>
  54. <!-- 让IE8/9支持媒体查询,从而兼容栅格 -->
  55. <!--[if lt IE 9]>
  56. <script src="../../other/html5shiv/r29/html5.min.js" tppabs="https://cdn.staticfile.org/html5shiv/r29/html5.min.js"></script>
  57. <script src="../../other/respond.js/1.4.2/respond.min.js" tppabs="https://cdn.staticfile.org/respond.js/1.4.2/respond.min.js"></script>
  58. <![endif]-->
  59. <div class="layui-side layui-bg-black">
  60. <div class="layui-side-scroll">
  61. <ul class="layui-nav layui-nav-tree site-demo-nav">
  62. <li class="layui-nav-item layui-nav-itemed">
  63. <a class="javascript:;" href="javascript:;">演示</a>
  64. <dl class="layui-nav-child">
  65. <dd>
  66. <a href="index.html" tppabs="http://www.layui.com/demo/">调试预览</a>
  67. </dd>
  68. </dl>
  69. </li>
  70. <li class="layui-nav-item layui-nav-itemed">
  71. <a class="javascript:;" href="javascript:;">布局</a>
  72. <dl class="layui-nav-child">
  73. <dd class="">
  74. <a href="grid.html" tppabs="http://www.layui.com/demo/grid.html">栅格</a>
  75. </dd>
  76. <dd class="">
  77. <a href="admin.html" tppabs="http://www.layui.com/demo/admin.html">框架</a>
  78. </dd>
  79. </dl>
  80. </li>
  81. <li class="layui-nav-item layui-nav-itemed">
  82. <a class="javascript:;" href="javascript:;">基本元素</a>
  83. <dl class="layui-nav-child">
  84. <dd class="">
  85. <a href="button.html" tppabs="http://www.layui.com/demo/button.html">按钮</a>
  86. </dd>
  87. <dd class="">
  88. <a href="form.html" tppabs="http://www.layui.com/demo/form.html">表单</a>
  89. </dd>
  90. <dd class="">
  91. <a href="nav.html" tppabs="http://www.layui.com/demo/nav.html">导航 / 面包屑</a>
  92. </dd>
  93. <dd class="">
  94. <a href="menu.html" tppabs="http://www.layui.com/demo/menu.html">基础菜单</a>
  95. </dd>
  96. <dd class="">
  97. <a href="tab.html" tppabs="http://www.layui.com/demo/tab.html">选项卡</a>
  98. </dd>
  99. <dd class="">
  100. <a href="progress.html" tppabs="http://www.layui.com/demo/progress.html">进度条</a>
  101. </dd>
  102. <dd class="">
  103. <a href="panel.html" tppabs="http://www.layui.com/demo/panel.html">面板</a>
  104. </dd>
  105. <dd class="">
  106. <a href="badge.html" tppabs="http://www.layui.com/demo/badge.html">徽章</a>
  107. </dd>
  108. <dd class="">
  109. <a href="timeline.html" tppabs="http://www.layui.com/demo/timeline.html">时间线</a>
  110. </dd>
  111. <dd class="">
  112. <a href="table-element.html" tppabs="http://www.layui.com/demo/table-element.html">静态表格</a>
  113. </dd>
  114. <dd class="">
  115. <a href="anim.html" tppabs="http://www.layui.com/demo/anim.html">动画</a>
  116. </dd>
  117. <dd class="">
  118. <a href="auxiliar.html" tppabs="http://www.layui.com/demo/auxiliar.html">辅助元素</a>
  119. </dd>
  120. </dl>
  121. </li>
  122. <li class="layui-nav-item layui-nav-itemed">
  123. <a class="javascript:;" href="javascript:;">组件示例</a>
  124. <dl class="layui-nav-child">
  125. <dd class="">
  126. <a href="layer.html" tppabs="http://www.layui.com/demo/layer.html">
  127. 弹出层
  128. </a>
  129. </dd>
  130. <dd class="">
  131. <a href="laydate.html" tppabs="http://www.layui.com/demo/laydate.html">
  132. 日期与时间选择
  133. </a>
  134. </dd>
  135. <dd class="">
  136. <a href="table.html" tppabs="http://www.layui.com/demo/table.html">
  137. 数据表格
  138. </a>
  139. </dd>
  140. <dd class="">
  141. <a href="laypage.html" tppabs="http://www.layui.com/demo/laypage.html">
  142. 分页
  143. </a>
  144. </dd>
  145. <dd class="layui-this">
  146. <a href="dropdown.html" tppabs="http://www.layui.com/demo/dropdown.html">
  147. 下拉菜单
  148. </a>
  149. </dd>
  150. <dd class="">
  151. <a href="upload.html" tppabs="http://www.layui.com/demo/upload.html">
  152. 文件上传
  153. </a>
  154. </dd>
  155. <dd class="">
  156. <a href="transfer.html" tppabs="http://www.layui.com/demo/transfer.html">
  157. 穿梭框
  158. </a>
  159. </dd>
  160. <dd class="">
  161. <a href="tree.html" tppabs="http://www.layui.com/demo/tree.html">
  162. 树形组件
  163. </a>
  164. </dd>
  165. <dd class="">
  166. <a href="colorpicker.html" tppabs="http://www.layui.com/demo/colorpicker.html">
  167. 颜色选择器
  168. </a>
  169. </dd>
  170. <dd class="">
  171. <a href="slider.html" tppabs="http://www.layui.com/demo/slider.html">
  172. 滑块
  173. </a>
  174. </dd>
  175. <dd class="">
  176. <a href="rate.html" tppabs="http://www.layui.com/demo/rate.html">
  177. 评分
  178. </a>
  179. </dd>
  180. <dd class="">
  181. <a href="carousel.html" tppabs="http://www.layui.com/demo/carousel.html">
  182. 轮播
  183. </a>
  184. </dd>
  185. <dd class="">
  186. <a href="laytpl.html" tppabs="http://www.layui.com/demo/laytpl.html">
  187. 模板引擎
  188. </a>
  189. </dd>
  190. <dd class="">
  191. <a href="layedit.html" tppabs="http://www.layui.com/demo/layedit.html">
  192. 富文本编辑器
  193. </a>
  194. </dd>
  195. <dd class="">
  196. <a href="flow.html" tppabs="http://www.layui.com/demo/flow.html">
  197. 流加载
  198. </a>
  199. </dd>
  200. <dd class="">
  201. <a href="util.html" tppabs="http://www.layui.com/demo/util.html">
  202. 工具模块
  203. </a>
  204. </dd>
  205. <dd class="">
  206. <a href="code.html" tppabs="http://www.layui.com/demo/code.html">
  207. 文本行修饰
  208. </a>
  209. </dd>
  210. </dl>
  211. </li>
  212. <li class="layui-nav-item" style="height: 30px; text-align: center"></li>
  213. </ul>
  214. </div>
  215. </div>
  216. <div class="layui-tab layui-tab-brief" lay-filter="demoTitle">
  217. <ul class="layui-tab-title site-demo-title">
  218. <li class="layui-this">预览</li>
  219. <li>查看代码</li>
  220. <li>帮助</li>
  221. </ul>
  222. <div class="layui-body layui-tab-content site-demo site-demo-body">
  223. <div class="layui-tab-item layui-show">
  224. <div class="layui-main">
  225. <div id="LAY_preview">
  226. <fieldset class="layui-elem-field layui-field-title" style="margin-top: 30px;">
  227. <legend>初演示</legend>
  228. </fieldset>
  229. <div class="layui-btn-container">
  230. <button class="layui-btn demo1">
  231. 下拉菜单
  232. <i class="layui-icon layui-icon-down layui-font-12"></i>
  233. </button>
  234. <button class="layui-btn layui-btn-primary demo1">
  235. 下拉菜单
  236. <i class="layui-icon layui-icon-down layui-font-12"></i>
  237. </button>
  238. </div>
  239. <div class="layui-inline" style="width: 235px;">
  240. <input name="" placeholder="在输入框提供一些常用的选项" class="layui-input" id="demo2">
  241. </div>
  242. <div class="layui-inline layui-word-aux layui-font-gray">
  243. 可以绑定任意元素,<a href="javascript:;" class="layui-font-blue" id="demo3">比如这段文字 <i class="layui-icon layui-font-12 layui-icon-down"></i></a>
  244. </div>
  245. <fieldset class="layui-elem-field layui-field-title" style="margin-top: 30px;">
  246. <legend>高级演示</legend>
  247. </fieldset>
  248. <div class="layui-btn-container">
  249. <button class="layui-btn" id="demo100">
  250. 无限层级 + 跳转 + 事件 + 自定义模板
  251. </button>
  252. </div>
  253. <fieldset class="layui-elem-field layui-field-title" style="margin-top: 30px;">
  254. <legend>在表格中的应用</legend>
  255. </fieldset>
  256. <div style="max-width: 728px;">
  257. <table class="layui-hide" id="test-dropdown-table" lay-filter="test-dropdown-table"></table>
  258. </div>
  259. <script type="text/html" id="test-dropdown-toolbar-barDemo">
  260. <a class="layui-btn layui-btn-xs layui-btn-primary" lay-event="edit">编辑</a>
  261. <a class="layui-btn layui-btn-xs" lay-event="more">更多 <i class="layui-icon layui-icon-down"></i></a>
  262. </script>
  263. <div style="margin-top: 15px">
  264. <!-- 示例-970 -->
  265. </div>
  266. <fieldset class="layui-elem-field layui-field-title">
  267. <legend>自定义事件</legend>
  268. </fieldset>
  269. <div class="layui-btn-container">
  270. <button class="layui-btn layui-btn-primary" id="demo4">
  271. hover
  272. <i class="layui-icon layui-icon-more-vertical layui-font-12"></i>
  273. </button>
  274. <button class="layui-btn layui-btn-primary" id="demo5">
  275. mousedown
  276. <i class="layui-icon layui-icon-down layui-font-12"></i>
  277. </button>
  278. <button class="layui-btn layui-btn-primary" id="demo6">
  279. dblclick - 双击
  280. <i class="layui-icon layui-icon-circle layui-font-12"></i>
  281. </button>
  282. </div>
  283. <fieldset class="layui-elem-field layui-field-title" style="margin-top: 30px;">
  284. <legend>右键菜单</legend>
  285. </fieldset>
  286. <div class="layui-bg-gray" style="height: 260px; text-align: center;" id="demo7">
  287. <span class="layui-font-gray" style="position: relative; top:50%;">在此区域单击鼠标右键</span>
  288. </div>
  289. <button class="layui-btn" style="margin-top: 15px;" lay-demoActive="rightclick">
  290. 开启全局右键菜单
  291. </button>
  292. <fieldset class="layui-elem-field layui-field-title" style="margin-top: 30px;">
  293. <legend>弹出位置</legend>
  294. </fieldset>
  295. <div class="layui-btn-container">
  296. <button class="layui-btn layui-btn-primary" id="demo200">
  297. 左对齐
  298. <i class="layui-icon layui-icon-down layui-font-12"></i>
  299. </button>
  300. <button class="layui-btn layui-btn-primary" id="demo201">
  301. 居中对齐
  302. <i class="layui-icon layui-icon-down layui-font-12"></i>
  303. </button>
  304. <button class="layui-btn layui-btn-primary" id="demo202">
  305. 右对齐
  306. <i class="layui-icon layui-icon-down layui-font-12"></i>
  307. </button>
  308. </div>
  309. <fieldset class="layui-elem-field layui-field-title" style="margin-top: 30px;">
  310. <legend>重定义风格</legend>
  311. </fieldset>
  312. <div class="layui-btn-container">
  313. <button class="layui-btn" id="demo8">
  314. 重定义样式
  315. <i class="layui-icon layui-icon-list layui-font-14"></i>
  316. </button>
  317. <style>
  318. .site-dropdown-demo,
  319. .site-dropdown-demo .layui-menu{background-color: #000; border: none;}
  320. .site-dropdown-demo .layui-menu li{color: #fff;}
  321. .site-dropdown-demo .layui-menu li:hover{background-color: #333;}
  322. </style>
  323. <button class="layui-btn" id="demo9">
  324. 重定义内容
  325. <i class="layui-icon layui-icon-list layui-font-14"></i>
  326. </button>
  327. </div>
  328. </div>
  329. <blockquote class="layui-elem-quote" style="margin-top: 30px;">
  330. 更多我们未能呈现的示例,还有待您在阅读文档、以及不断使用的过程,去深入挖掘。
  331. </blockquote>
  332. <div style="margin: 15px 0 100px; padding-bottom: 100px;">
  333. </div>
  334. </div>
  335. </div>
  336. <div class="layui-tab-item">
  337. <textarea class="layui-border-box site-demo-text site-demo-code" id="LAY_democode" spellcheck="false" readonly>
  338. <!DOCTYPE html>
  339. <html>
  340. <head>
  341. <meta charset="utf-8">
  342. <title>镜像站@Layui</title>
  343. <meta name="renderer" content="webkit">
  344. <meta http-equiv="X-UA-Compatible" content="IE=edge,chrome=1">
  345. <meta name="viewport" content="width=device-width, initial-scale=1, maximum-scale=1">
  346. <link rel="stylesheet" href="/public/layui/dist/css/layui.css" tppabs="http://res.layui.com/layui/dist/css/layui.css" media="all">
  347. <!-- 注意:如果你直接复制所有代码到本地,上述css路径需要改成你本地的 -->
  348. </head>
  349. </textarea>
  350. </div>
  351. <div class="layui-tab-item">
  352. <div class="layui-main">
  353. <p></p>
  354. <fieldset class="layui-elem-field layui-field-title" style="margin-top: 50px;">
  355. <legend>相关</legend>
  356. </fieldset>
  357. <a class="layui-btn layui-btn-normal" href="../doc/modules/dropdown.html" tppabs="http://www.layui.com/doc/modules/dropdown.html" target="_blank">下拉菜单文档</a>
  358. </div>
  359. </div>
  360. </div>
  361. </div>
  362. <div class="layui-footer footer footer-demo">
  363. <p>
  364. Copyright &copy; 2021 <a href="../index.html" tppabs="http://www.layui.com/">「本站仅为 layui 文档保留的镜像站点,与官方无关」</a> MIT Licensed</p>
  365. <p>
  366. <a href="../about/disclaimer.html" tppabs="http://www.layui.com/about/disclaimer.html" target="_blank">免责声明</a>
  367. <a href="../about/relatedlinks.html" tppabs="http://www.layui.com/about/relatedlinks.html" target="_blank">友链</a>
  368. <a href="javascript:;" site-event="weixinmp">公众号</a>
  369. </p>
  370. <div class="site-union">
  371. <p class="site-union-desc">
  372. <span>
  373. </span>
  374. </p>
  375. </div>
  376. </div>
  377. <script>
  378. window.global = {
  379. pageType: 'demo'
  380. ,preview: function(){
  381. var preview = document.getElementById('LAY_preview');
  382. return preview ? preview.innerHTML : '';
  383. }()
  384. };
  385. </script>
  386. <div class="site-tree-mobile layui-hide">
  387. <i class="layui-icon layui-icon-spread-left"></i>
  388. </div>
  389. <div class="site-mobile-shade"></div>
  390. <script src="/public/layui/dist/layui.js" tppabs="http://res.layui.com/layui/dist/layui.js?t=1632428048260" charset="utf-8"></script>
  391. <script>
  392. layui.config({
  393. base: '/public/static/lay/modules/layui/'
  394. ,version: '1632428048260'
  395. }).use('global');
  396. </script>
  397. </div>
  398. <div id="LAY_democodejs">
  399. <script>
  400. layui.use(['dropdown', 'util', 'layer', 'table'], function(){
  401. var dropdown = layui.dropdown
  402. ,util = layui.util
  403. ,layer = layui.layer
  404. ,table = layui.table
  405. ,$ = layui.jquery;
  406. //初演示
  407. dropdown.render({
  408. elem: '.demo1'
  409. ,data: [{
  410. title: 'menu item11'
  411. ,id: 100
  412. },{
  413. title: 'menu item22'
  414. ,id: 101
  415. },{
  416. title: 'menu item33'
  417. ,id: 102
  418. }]
  419. ,click: function(obj){
  420. layer.tips('点击了:'+ obj.title, this.elem, {tips: [1, '#5FB878']})
  421. }
  422. });
  423. //初演示 - 绑定输入框
  424. dropdown.render({
  425. elem: '#demo2'
  426. ,data: [{
  427. title: 'menu item 1'
  428. ,id: 101
  429. },{
  430. title: 'menu item 2'
  431. ,id: 102
  432. },{
  433. title: 'menu item 3'
  434. ,id: 103
  435. },{
  436. title: 'menu item 4'
  437. ,id: 104
  438. },{
  439. title: 'menu item 5'
  440. ,id: 105
  441. },{
  442. title: 'menu item 6'
  443. ,id: 106
  444. }]
  445. ,click: function(obj){
  446. this.elem.val(obj.title);
  447. }
  448. ,style: 'width: 235px;'
  449. });
  450. //初演示 - 绑定文字
  451. dropdown.render({
  452. elem: '#demo3'
  453. ,data: [{
  454. title: 'menu item 1'
  455. ,id: 100
  456. },{
  457. title: 'menu item 2'
  458. ,id: 101
  459. ,child: [{ //横向子菜单
  460. title: 'menu item 2-1'
  461. ,id: 1011
  462. },{
  463. title: 'menu item 2-2'
  464. ,id: 1012
  465. }]
  466. },{
  467. title: 'menu item 3'
  468. ,id: 102
  469. },{
  470. type: '-' //分割线
  471. },{
  472. title: 'menu group'
  473. ,id: 103
  474. ,type: 'group' //纵向菜单组
  475. ,child: [{
  476. title: 'menu item 4-1'
  477. ,id: 1031
  478. },{
  479. title: 'menu item 4-2'
  480. ,id: 1032
  481. }]
  482. },{
  483. type: '-' //分割线
  484. },{
  485. title: 'menu item 5'
  486. ,id: 104
  487. },{
  488. title: 'menu item 5'
  489. ,id: 104
  490. }]
  491. ,click: function(obj){
  492. this.elem.val(obj.title);
  493. }
  494. });
  495. //高级演示 - 各种组合
  496. dropdown.render({
  497. elem: '#demo100'
  498. ,data: [{
  499. title: 'menu item 1'
  500. ,templet: '<i class="layui-icon layui-icon-picture"></i> {{d.title}} <span class="layui-badge-dot"></span>'
  501. ,id: 100
  502. ,href: '#'
  503. },{
  504. title: 'menu item 2'
  505. ,templet: '<img src="http://cdn.layui.com/avatar/168.jpg?t=123" style="width: 16px;"> {{d.title}}'
  506. ,id: 101
  507. ,href: '/'
  508. ,target: '_blank'
  509. }
  510. ,{type: '-'} //分割线
  511. ,{
  512. title: 'menu item 3'
  513. ,id: 102
  514. ,type: 'group'
  515. ,child: [{
  516. title: 'menu item 3-1'
  517. ,id: 103
  518. },{
  519. title: 'menu item 3-2'
  520. ,id: 104
  521. ,child: [{
  522. title: 'menu item 3-2-1'
  523. ,id: 105
  524. },{
  525. title: 'menu item 3-2-2'
  526. ,id: 11
  527. ,type: 'group'
  528. ,child: [{
  529. title: 'menu item 3-2-2-1'
  530. ,id: 111
  531. },{
  532. title: 'menu item 3-2-2-2'
  533. ,id: 1111
  534. }]
  535. },{
  536. title: 'menu item 3-2-3'
  537. ,id: 11111
  538. }]
  539. },{
  540. title: 'menu item 3-3'
  541. ,id: 111111
  542. ,type: 'group'
  543. ,child: [{
  544. title: 'menu item 3-3-1'
  545. ,id: 22
  546. },{
  547. title: 'menu item 3-3-2'
  548. ,id: 222
  549. ,child: [{
  550. title: 'menu item 3-3-2-1'
  551. ,id: 2222
  552. },{
  553. title: 'menu item 3-3-2-2'
  554. ,id: 22222
  555. },{
  556. title: 'menu item 3-3-2-3'
  557. ,id: 2222222
  558. }]
  559. },{
  560. title: 'menu item 3-3-3'
  561. ,id: 333
  562. }]
  563. }]
  564. }
  565. ,{type: '-'}
  566. ,{
  567. title: 'menu item 4'
  568. ,id: 4
  569. },{
  570. title: 'menu item 5'
  571. ,id: 5
  572. ,child: [{
  573. title: 'menu item 5-1'
  574. ,id: 55
  575. ,child: [{
  576. title: 'menu item 5-1-1'
  577. ,id: 5555
  578. },{
  579. title: 'menu item 5-1-2'
  580. ,id: 55555
  581. },{
  582. title: 'menu item 5-1-3'
  583. ,id: 555555
  584. }]
  585. },{
  586. title: 'menu item 5-2'
  587. ,id: 52
  588. },{
  589. title: 'menu item 5-3'
  590. ,id: 53
  591. }]
  592. },{type:'-'},{
  593. title: 'menu item 6'
  594. ,id: 66
  595. ,type: 'group'
  596. ,isSpreadItem: false
  597. ,child: [{
  598. title: 'menu item 6-1'
  599. ,id: 666
  600. },{
  601. title: 'menu item 6-2'
  602. ,id: 6666
  603. },{
  604. title: 'menu item 6-3'
  605. ,id: 66666
  606. }]
  607. }]
  608. ,click: function(item){
  609. layer.msg(util.escape(JSON.stringify(item)));
  610. }
  611. });
  612. // dropdown 在表格中的应用
  613. table.render({
  614. elem: '#test-dropdown-table'
  615. ,url: '../test/table/demo5.json.js'/*tpa=http://www.layui.com/test/table/demo5.json*/
  616. ,title: '用户数据表'
  617. ,cols: [[
  618. {type: 'checkbox', fixed: 'left'}
  619. ,{field:'id', title:'ID', width:80, fixed: 'left', unresize: true, sort: true}
  620. ,{field:'username', title:'用户名', width:120, edit: 'text'}
  621. ,{field:'email', title:'邮箱', minWidth:150}
  622. ,{fixed: 'right', title:'操作', toolbar: '#test-dropdown-toolbar-barDemo', width:150}
  623. ]]
  624. ,limits: [3]
  625. ,page: true
  626. });
  627. //行工具事件
  628. table.on('tool(test-dropdown-table)', function(obj){
  629. var that = this
  630. ,data = obj.data;
  631. if(obj.event === 'edit'){
  632. layer.prompt({
  633. formType: 2
  634. ,value: data.email
  635. }, function(value, index){
  636. obj.update({
  637. email: value
  638. });
  639. layer.close(index);
  640. });
  641. } else if(obj.event === 'more'){
  642. //更多下拉菜单
  643. dropdown.render({
  644. elem: that
  645. ,show: true //外部事件触发即显示
  646. ,data: [{
  647. title: 'item 1'
  648. ,id: 'aaa'
  649. }, {
  650. title: 'item 2'
  651. ,id: 'bbb'
  652. }, {
  653. title: '删除'
  654. ,id: 'del'
  655. }]
  656. ,click: function(data, othis){
  657. //根据 id 做出不同操作
  658. if(data.id === 'del'){
  659. layer.confirm('真的删除行么', function(index){
  660. obj.del();
  661. layer.close(index);
  662. });
  663. } else {
  664. layer.msg('得到表格下拉菜单 id:'+ data.id);
  665. }
  666. }
  667. ,align: 'right' //右对齐弹出(v2.6.8 新增)
  668. ,style: 'box-shadow: 1px 1px 10px rgb(0 0 0 / 12%);' //设置额外样式
  669. });
  670. }
  671. });
  672. //自定义事件 - hover
  673. dropdown.render({
  674. elem: '#demo4'
  675. ,trigger: 'hover'
  676. ,data: [{
  677. title: 'menu item 1'
  678. ,id: 100
  679. },{
  680. title: 'menu item 2'
  681. ,id: 101
  682. },{
  683. title: 'menu item 3'
  684. ,id: 102
  685. }]
  686. });
  687. //自定义事件 - mousedown
  688. dropdown.render({
  689. elem: '#demo5'
  690. ,trigger: 'mousedown'
  691. ,data: [{
  692. title: 'menu item 1'
  693. ,id: 100
  694. },{
  695. title: 'menu item 2'
  696. ,id: 101
  697. },{
  698. title: 'menu item 3'
  699. ,id: 102
  700. }]
  701. });
  702. //自定义事件 - dblclick
  703. dropdown.render({
  704. elem: '#demo6'
  705. ,trigger: 'dblclick'
  706. ,data: [{
  707. title: 'menu item 1'
  708. ,id: 100
  709. },{
  710. title: 'menu item 2'
  711. ,id: 101
  712. },{
  713. title: 'menu item 3'
  714. ,id: 102
  715. }]
  716. });
  717. //右键菜单
  718. var inst = dropdown.render({
  719. elem: '#demo7' //也可绑定到 document,从而重置整个右键
  720. ,trigger: 'contextmenu' //contextmenu
  721. ,isAllowSpread: false //禁止菜单组展开收缩
  722. ,style: 'width: 200px' //定义宽度,默认自适应
  723. ,id: 'test777' //定义唯一索引
  724. ,data: [{
  725. title: 'menu item 1'
  726. ,id: 'test'
  727. }, {
  728. title: 'Printing'
  729. ,id: 'print'
  730. },{
  731. title: 'Reload'
  732. ,id: 'reload'
  733. },{type:'-'},{
  734. title: 'menu item 3'
  735. ,id: '#3'
  736. ,child: [{
  737. title: 'menu item 3-1'
  738. ,id: '#1'
  739. },{
  740. title: 'menu item 3-2'
  741. ,id: '#2'
  742. },{
  743. title: 'menu item 3-3'
  744. ,id: '#3'
  745. }]
  746. },{type:'-'},{
  747. title: 'menu item 4'
  748. ,id: ''
  749. },{
  750. title: 'menu item 5'
  751. ,id: '#1'
  752. },{
  753. title: 'menu item 6'
  754. ,id: '#1'
  755. }]
  756. ,click: function(obj, othis){
  757. if(obj.id === 'test'){
  758. layer.msg('click');
  759. } else if(obj.id === 'print'){
  760. window.print();
  761. } else if(obj.id === 'reload'){
  762. location.reload();
  763. }
  764. }
  765. });
  766. //对齐方式
  767. dropdown.render({
  768. elem: '#demo200'
  769. ,data: [{
  770. title: 'menu item test 111'
  771. ,id: 100
  772. },{
  773. title: 'menu item test 222'
  774. ,id: 101
  775. },{
  776. title: 'menu item test 333'
  777. ,id: 102
  778. }]
  779. });
  780. dropdown.render({
  781. elem: '#demo201'
  782. ,align: 'center' //居中对齐(2.6.8 新增)
  783. ,data: [{
  784. title: 'menu item test 111'
  785. ,id: 100
  786. },{
  787. title: 'menu item test 222'
  788. ,id: 101
  789. },{
  790. title: 'menu item test 333'
  791. ,id: 102
  792. }]
  793. });
  794. dropdown.render({
  795. elem: '#demo202'
  796. ,align: 'right' //右对齐(2.6.8 新增)
  797. ,data: [{
  798. title: 'menu item test 111'
  799. ,id: 100
  800. },{
  801. title: 'menu item test 222'
  802. ,id: 101
  803. },{
  804. title: 'menu item test 333'
  805. ,id: 102
  806. }]
  807. });
  808. //重定义样式
  809. dropdown.render({
  810. elem: '#demo8'
  811. ,data: [{
  812. title: 'menu item 1'
  813. ,id: 100
  814. },{
  815. title: 'menu item 2'
  816. ,id: 101
  817. },{
  818. title: 'menu item 3'
  819. ,id: 103
  820. },{
  821. title: 'menu item 4'
  822. ,id: 104
  823. },{
  824. title: 'menu item 5'
  825. ,id: 105
  826. },{
  827. title: 'menu item 6'
  828. ,id: 106
  829. }]
  830. ,className: 'site-dropdown-demo'
  831. ,ready: function(elemPanel, elem){
  832. layer.msg('定义了一个 className');
  833. }
  834. });
  835. //重定义内容
  836. dropdown.render({
  837. elem: '#demo9'
  838. ,content: ['<div class="layui-tab layui-tab-brief">'
  839. ,'<ul class="layui-tab-title">'
  840. ,'<li class="layui-this">Tab header 1</li>'
  841. ,'<li>Tab header 2</li>'
  842. ,'<li>Tab header 3</li>'
  843. ,'</ul>'
  844. ,'<div class="layui-tab-content">'
  845. ,'<div class="layui-tab-item layui-text layui-show"><p style="padding-bottom: 10px;">在 content 参数中插入任意的 html 内容,可替代默认的下拉菜单。 从而实现更多有趣的弹出内容。</p><p> 是否发现,dropdown 组件不仅仅只是一个下拉菜单或者右键菜单,它能被赋予许多的想象可能。</p></div>'
  846. ,'<div class="layui-tab-item">Tab body 2</div>'
  847. ,'<div class="layui-tab-item">Tab body 3</div>'
  848. ,'</div>'
  849. ,'</div>'].join('')
  850. ,style: 'width: 370px; height: 200px; padding: 0 15px; box-shadow: 1px 1px 30px rgb(0 0 0 / 12%);'
  851. ,ready: function(){
  852. layui.use('element', function(element){
  853. element.render('tab');
  854. });
  855. }
  856. });
  857. //其他操作
  858. util.event('lay-demoactive', {
  859. //全局右键菜单
  860. rightclick: function(othis){
  861. if(!othis.data('open')){
  862. dropdown.reload('test777', {
  863. elem: document //将事件直接绑定到 document
  864. });
  865. layer.msg('已开启全局右键菜单,请尝试在页面任意处单击右键。')
  866. othis.html('取消全局右键菜单');
  867. othis.data('open', true);
  868. } else {
  869. dropdown.reload('test777', {
  870. elem: '#demo7' //重新绑定到指定元素上
  871. });
  872. layer.msg('已取消全局右键菜单,恢复默认右键菜单')
  873. othis.html('开启全局右键菜单');
  874. othis.data('open', false);
  875. }
  876. }
  877. })
  878. });
  879. </script>
  880. </div>
  881. </body>
  882. </html>