在项目中用到layui框架,用到它的弹出层来实现添加信息的功能。
弹出层里面有一个按钮,在调用弹出层函数的时候才有对应的元素,才能绑定事件。
后面点击按钮发现弹窗会弹好几次,通过debug发现按钮绑定了同一个事件好几次。按照原逻辑,点击按钮的时候会绑定事件,但是展示完一次返回上一层再点击会再次绑定该事件。这样一个按钮重复绑定同一事件,就出现了弹窗闪屏的情况,闪好几下。
解决方法:在绑定事件之前先调用jquery的.off(“click”)方法把按钮原来的点击事件都清除掉(括号内对应的就是要清除掉的事件)。
$(layDom).find("#validateGiftId").off('click') ;