<!DOCTYPE html> <html> <head> <meta charset="utf-8"> <meta name="viewport" content="width=device-width, initial-scale=1, maximum-scale=1"> <title>下拉菜单 - layui</title> <link rel="stylesheet" href="../src/css/layui.css"> </head> <body> <div class="layui-container"> <div class="layui-btn-container" style="padding: 30px 0;"> <button class="layui-btn" id="demo1"> 按钮下拉 <i class="layui-icon layui-icon-down layui-font-12"></i> </button> <button class="layui-btn layui-btn-primary" id="demo2"> 按钮下拉 <i class="layui-icon layui-icon-down layui-font-12"></i> </button> </div> <div class="layui-text"> <a href="javascript:;" id="demo3">文字下拉 <i class="layui-icon layui-icon-down"></i></a> </div> <div class="layui-btn-container"> <a href="javascript:;" id="testopen">testopen <i class="layui-icon layui-icon-down"></i></a> <button class="layui-btn" lay-on="open">open</button> <button class="layui-btn" lay-on="close">close</button> </div> <div class="layui-bg-gray" style="margin-top: 30px; width: 100%; height: 300px; text-align: center;" id="demo20"> <span class="layui-font-gray" style="position: relative; top:50%;">鼠标右键菜单</span> </div> </div> <script src="../src/layui.js"></script> <script> layui.use('dropdown', function () { var dropdown = layui.dropdown; var util = layui.util; dropdown.render({ elem: '#demo1', shade: [0.1, '#ddd'], //,align: 'right' data: [ { title: 'menu item 1', templet: '<i class="layui-icon layui-icon-light"></i> {{= d.title }} <span class="layui-badge-dot"></span>', id: '', href: '', type: '' //菜单类型,支持:normal/group/parent }, { title: 'menu item <strong>2</strong>', templet: '<img src="https://unpkg.com/outeres@0.1.1/demo/avatar/0.png" style="width: 16px;"> {{- d.title }}', id: '', href: 'https://www.layui.com/', target: '_blank' }, { type: '-' }, {}, { title: 'menu item 3 <hello>', id: '', type: 'group', child: [ { title: 'menu item 3-1', id: '' }, { title: 'menu item 3-2', id: '', child: [ { title: 'menu item 3-2-1', id: '' }, { title: 'menu item 3-2-2', id: '', type: 'group', child: [ { title: 'menu item 3-2-2-1', id: '' }, { title: 'menu item 3-2-2-2', id: '' } ] }, { title: 'menu item 3-2-3', id: '' } ] }, { title: 'menu item 3-3', id: '', type: 'group', child: [ { title: 'menu item 3-3-1', id: '' }, { title: 'menu item 3-3-2', id: '', child: [ { title: 'menu item 3-3-2-1', id: '' }, { title: 'menu item 3-3-2-2', id: '' }, { title: 'menu item 3-3-2-3', id: '' } ] }, { title: 'menu item 3-3-3', id: '' } ] } ] }, { type: '-' }, { title: 'menu item 4', id: '' }, { title: 'menu item 5', id: '', child: [ { title: 'menu item 5-1', id: '', child: [ { title: 'menu item 5-1-1', id: '' }, { title: 'menu item 5-1-2', id: '' }, { title: 'menu item 5-1-3', id: '' } ] }, { title: 'menu item 5-2', id: '' }, { title: 'menu item 5-3', id: '' } ] }, { type: '-' }, { title: 'menu item 6', id: '', type: 'group', isSpreadItem: false, child: [ { title: 'menu item 6-1', id: '' }, { title: 'menu item 6-2', id: '' }, { title: 'menu item 6-3', id: '' } ] } ], id: 'demo1', // 触发点击事件的元素范围 --- default: 仅子菜单触发点击事件(默认,可不填); all: 所有父子菜单均触发点击事件 clickScope: 'all', // 菜单被点击的事件 click: function (obj) { console.log(obj); } }); var inst = dropdown.render({ elem: '#demo2', // ,show: true data: [ { title: 'menu item 1', href: '#1', disabled: true }, { title: 'menu item 2(点击不关闭)', href: '#2', id: 'bbb' }, { title: 'menu item 3', href: '#3' } ], click: function (data, othis) { console.log(data); if (data.id === 'bbb') { return false; } }, ready: function () { console.log(arguments); }, close: function () { console.log('demo2', this.elem); } }); dropdown.render({ elem: '#demo3', content: '自定义内容 123 ', style: 'background:#666;color:#fff;padding:15px;', align: 'center', trigger: 'hover', close: function () { console.log('demo3', this.elem); } }); //右键 dropdown.render({ elem: document, //'#demo20' //也可绑定到 document,从而重置整个右键 trigger: 'contextmenu', //contextmenu isAllowSpread: false, //,style: 'width: 200px' customName: { children: 'children' }, data: [ { title: 'menu item 1', id: '#1' }, { title: 'menu item 2', id: 'reload' }, { type: '-' }, { title: 'menu item 3', id: '#3', children: [ { title: 'menu item 3-1', id: '#1' }, { title: 'menu item 3-2', id: '#2' }, { title: 'menu item 3-3', id: '#3' } ] }, { type: '-' }, { title: 'menu item 4', id: '' }, { title: 'menu item 5', id: '#1' }, { title: 'menu item 6', id: '#1' } ], click: function (obj, othis) { if (obj.id === 'reload') { location.reload(); } } }); dropdown.render({ elem: '#testopen', id: 'testopen', trigger: "manual", data: [{ id: "refresh", title: "刷新"}] }); util.on({ open: function(){ dropdown.open('testopen') }, close: function(){ dropdown.close('testopen') } }, {trigger: 'mouseenter'}); return; dropdown.render({ elem: document, content: '123' }); }); </script> </body> </html>