新增 dropdown 的 clickScope 属性

This commit is contained in:
贤心 2022-08-26 23:26:17 +08:00
parent 4cbd1e5c0d
commit cf2531947c
2 changed files with 11 additions and 6 deletions

View File

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

View File

@ -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);
}
});