Browse Source

新增 dropdown 的 clickScope 属性

pull/1124/head
贤心 2 years ago
parent
commit
cf2531947c
  1. 5
      examples/dropdown.html
  2. 12
      src/modules/dropdown.js

5
examples/dropdown.html

@ -155,7 +155,10 @@ layui.use('dropdown', function(){
,id: 'demo1'
//菜单被点击的事件
// 触发点击事件的元素范围 --- default: 仅子菜单触发点击事件(默认,可不填); all: 所有父子菜单均触发点击事件
,clickScope: 'all'
// 菜单被点击的事件
,click: function(obj){
console.log(obj);
}

12
src/modules/dropdown.js

@ -261,13 +261,15 @@ layui.define(['jquery', 'laytpl', 'lay'], function(exports){
//触发菜单列表事件
that.elemView.find('.layui-menu li').on('click', function(e){
var othis = $(this)
,data = othis.data('item') || {}
,isChild = data.child && data.child.length > 0;
var othis = $(this);
var data = othis.data('item') || {};
var isChild = data.child && data.child.length > 0;
var isClickAllScope = options.clickScope === 'all'; // 是否所有父子菜单均触发点击事件
if(!isChild && data.type !== '-'){
that.remove();
if((!isChild || isClickAllScope) && data.type !== '-'){
isChild || that.remove();
typeof options.click === 'function' && options.click(data, othis);
layui.stope(e);
}
});

Loading…
Cancel
Save