Merge branch 'master-500-dev-lushangqing' into 'master-500-dev'
菜单增加点击事件操作记录 See merge request !852
Showing
1 changed file
with
105 additions
and
7 deletions
@@ -8,7 +8,8 @@ layui.define(['element', 'admin'], function (exports) { | @@ -8,7 +8,8 @@ layui.define(['element', 'admin'], function (exports) { | ||
8 | data: { | 8 | data: { |
9 | contextmenuTips: null, | 9 | contextmenuTips: null, |
10 | contextmenus: [], | 10 | contextmenus: [], |
11 | - classNams: [] | 11 | + classNams: [], |
12 | + handleLog: [] //lsq 页面点击操作集 | ||
12 | }, | 13 | }, |
13 | getCurrentHash: function () { | 14 | getCurrentHash: function () { |
14 | return window.location.hash; | 15 | return window.location.hash; |
@@ -80,12 +81,111 @@ layui.define(['element', 'admin'], function (exports) { | @@ -80,12 +81,111 @@ layui.define(['element', 'admin'], function (exports) { | ||
80 | * 鼠标点击事件 | 81 | * 鼠标点击事件 |
81 | */ | 82 | */ |
82 | bindClickEvent(){ | 83 | bindClickEvent(){ |
84 | + let that=this; | ||
83 | var eventKeys = ['a','button','[data-bizid]','.layui-table-link']; | 85 | var eventKeys = ['a','button','[data-bizid]','.layui-table-link']; |
84 | // 菜单点击 | 86 | // 菜单点击 |
85 | - $('#LAY-system-side-menu li a').click(function (e){ | ||
86 | - console.log($(this).text()); | ||
87 | - e.preventDefault(); | ||
88 | - }); | 87 | + if(!$('#LAY-system-side-menu li a').hasClass("on_fn")){ |
88 | + $('#LAY-system-side-menu li a').on('click',(function (e){ | ||
89 | + e.preventDefault(); | ||
90 | + //start lsq 元素鼠标点击事件操作 2022-08-11 | ||
91 | + //绑定事件时增加一个class防止多次绑定事件 | ||
92 | + $(this).addClass("on_fn"); | ||
93 | + // 获取当前点击的菜单 2022-08-11 | ||
94 | + if($(this).parent('li').length>0){ | ||
95 | + //如果菜单是第一级,则清空菜单数组,重新插入 | ||
96 | + that.data.handleLog=[]; | ||
97 | + } | ||
98 | + that.pushArrNoRepeat($(this),1); | ||
99 | + })); | ||
100 | + } | ||
101 | + | ||
102 | + //lsq 给页面的元素绑定点击事件 2022-08-11 | ||
103 | + setTimeout(function(){ | ||
104 | + that.bindElemClickEvent(); | ||
105 | + },500) | ||
106 | + }, | ||
107 | + /** | ||
108 | + * @desc 点击元素插入数组时的处理 | ||
109 | + * @author lsq | ||
110 | + * @date 2022-08-11 | ||
111 | + * @param thisObj 为点击的元素 | ||
112 | + * @param flg 1菜单 | ||
113 | + */ | ||
114 | + pushArrNoRepeat (thisObj,flg) { | ||
115 | + let that=this; | ||
116 | + // 获取当前元素名称正则表达式 | ||
117 | + var reg = sessionStorage.getItem('regular'); | ||
118 | + // 获取当前点击的元素的内容 | ||
119 | + let text=thisObj.text()?thisObj.text().trim().replace(reg, ""):''; | ||
120 | + // 获取当前点击的元素的lay-href-type值 | ||
121 | + let menuType=thisObj.attr('lay-href-type')?thisObj.attr('lay-href-type'):''; | ||
122 | + // 获取当前点击的菜单的路由地址 | ||
123 | + let layHref=thisObj.attr('lay-href')?thisObj.attr('lay-href'):''; | ||
124 | + let eleObj={ | ||
125 | + text:text, | ||
126 | + menuType:menuType, | ||
127 | + layHref:layHref | ||
128 | + } | ||
129 | + //数组中无当前点击的元素时再将当前点击元素加入到数组中 | ||
130 | + let textArr=[]; | ||
131 | + that.data.handleLog.map(item=>{ | ||
132 | + textArr.push(item.text) | ||
133 | + }) | ||
134 | + if(textArr.indexOf(text)==-1){ | ||
135 | + if(flg && !layHref){ | ||
136 | + // 如果当前点击的菜单元素没有路由地址则删除 | ||
137 | + that.data.handleLog.splice(1) ; | ||
138 | + } | ||
139 | + that.data.handleLog.push(eleObj) | ||
140 | + } | ||
141 | + console.log(text,that.data.handleLog); | ||
142 | + }, | ||
143 | + /** | ||
144 | + * 页面其他元素绑定事件 | ||
145 | + * @author lsq | ||
146 | + * @date 2022-08-11 | ||
147 | + */ | ||
148 | + clickEventHandle (thisObj) { | ||
149 | + let that=this; | ||
150 | + //绑定事件时增加一个class防止多次绑定事件 | ||
151 | + thisObj.addClass("on_fn"); | ||
152 | + that.pushArrNoRepeat(thisObj); | ||
153 | + // 把点击的元素按顺序展示 | ||
154 | + let handleStr=''; | ||
155 | + let menuStrArr=[]; | ||
156 | + let menuStrArrSecond=[]; | ||
157 | + that.data.handleLog.map(item=>{ | ||
158 | + if(item.menuType){ | ||
159 | + menuStrArr.push(item.text) | ||
160 | + }else{ | ||
161 | + menuStrArrSecond.push(item.text) | ||
162 | + } | ||
163 | + }) | ||
164 | + if(menuStrArr.length>0){ | ||
165 | + handleStr=menuStrArr.join('->'); | ||
166 | + } | ||
167 | + if(menuStrArrSecond.length>0){ | ||
168 | + handleStr+='->'+menuStrArrSecond.join(','); | ||
169 | + } | ||
170 | + console.log("abc",handleStr) | ||
171 | + }, | ||
172 | + /** | ||
173 | + * 页面其他元素绑定事件 | ||
174 | + * @author lsq | ||
175 | + * @date 2022-08-11 | ||
176 | + */ | ||
177 | + bindElemClickEvent() { | ||
178 | + let that=this; | ||
179 | + var eventKeys = ['button','[data-bizid]','.layui-table-link']; | ||
180 | + eventKeys.map(item=>{ | ||
181 | + if(!$(item).hasClass("on_fn")){ | ||
182 | + $(item).on('click',(function (e){ | ||
183 | + e.preventDefault(); | ||
184 | + that.clickEventHandle($(this)) | ||
185 | + })) | ||
186 | + } | ||
187 | + | ||
188 | + }) | ||
89 | }, | 189 | }, |
90 | /** | 190 | /** |
91 | * 绑定鼠标右键事件 | 191 | * 绑定鼠标右键事件 |
@@ -93,7 +193,6 @@ layui.define(['element', 'admin'], function (exports) { | @@ -93,7 +193,6 @@ layui.define(['element', 'admin'], function (exports) { | ||
93 | bindContextMenuEvent() { | 193 | bindContextMenuEvent() { |
94 | var that = this; | 194 | var that = this; |
95 | var contextmenus = that.data.contextmenus; | 195 | var contextmenus = that.data.contextmenus; |
96 | - | ||
97 | var bindContextEvent = function (selector, index) { | 196 | var bindContextEvent = function (selector, index) { |
98 | var el = $(selector); | 197 | var el = $(selector); |
99 | 198 | ||
@@ -163,7 +262,6 @@ layui.define(['element', 'admin'], function (exports) { | @@ -163,7 +262,6 @@ layui.define(['element', 'admin'], function (exports) { | ||
163 | } | 262 | } |
164 | } | 263 | } |
165 | }) | 264 | }) |
166 | - | ||
167 | // 点击关闭所有tips | 265 | // 点击关闭所有tips |
168 | $(document).on('click', function (event) { | 266 | $(document).on('click', function (event) { |
169 | layer.closeAll('tips'); | 267 | layer.closeAll('tips'); |
-
Please register or login to post a comment