如何解决layui弹出层闪退的问题

问题:

今天用layui的弹出层插件,发现绑定弹出层到按钮,打开弹窗会闪退。

原因:在form表单中使用了Button按钮,点击的时候会触发默认事件,而form的action我没填,所以就是弹出层会闪退!

解决办法:

方法一:将button标签换成其他的标签,如span就不会出现闪退问题了;

方法二:给button指明类型:type = “button”,因为在form表单中的button默认type = “submit”,改为button就没有表单的默认事件了。

扩展:

layui,是一款采用自身模块规范编写的前端 UI 框架,遵循原生 HTML/CSS/JS 的书写与组织形式,门槛极低,拿来即用。其外在极简,却又不失饱满的内在,体积轻盈,组件丰盈,从核心代码到 API 的每一处细节都经过精心雕琢,非常适合界面的快速开发。layui 首个版本发布于2016年秋,她区别于那些基于 MVVM 底层的 UI 框架,却并非逆道而行,而是信奉返璞归真之道。准确地说,她更多是为服务端程序员量身定做,你无需涉足各种前端工具的复杂配置,只需面对浏览器本身,让一切你所需要的元素与交互,从这里信手拈来。

layui 提供了丰富的内置模块,他们皆可通过模块化的方式按需加载,其中包括:layer、layDate、layPage、laytpl、table、form、upload、element、tree、layeditor、rate、carousel、flow、util、code等。

方法三:
听说是因为 JQuery 的版本冲突问题,在找到具体问题之前,先在代码里加一个 return false 解决问题;

<button class="layui-btn" lay-submit lay-filter="test" οnclick="return false;">立即提交</button>

js:

 //监听提交
        form.on('submit(test)', function(data) {
     
            console.log(data.field);
            layer.confirm("确认要提交吗?", {
     
                title: "单位新增"
                ,yes:function () {
     
 
                    layer.msg("yes");
                }
            })

你可能感兴趣的:(layui,前端,前端)