关于layer的坑

  真是自己给自己挖坑,坑死人不偿命啊。

  在用layui开发时,遇到这种情况,点击按钮出现一个弹出层,然而我不是用button按钮去实现的,而是用a标签做的,本来a标签也是可以实现的,在这里我无形中给自己挖了个坑。然后绕进去好半天不知道问题出在哪,直接上代码:

复制代码
<!DOCTYPE html>
<html lang="en">
<head>
    <meta charset="UTF-8">
    <title>Document</title>
    <link rel="stylesheet" href="../dist/css/layui.css">
</head>
<body>
    <a href="" class="layui-btn" id="btn">弹出层</a>
    <script src="../dist/layui.js"></script>
    <script src="../dist/jquery.min.js"></script>
    <script>
        layui.use('layer',function(){
            var layer = layui.layer;
            $("#btn").click(function(){
                layer.confirm('确定要删除吗?',{icon: 3, title:'提示'},function(index){
                    layer.close(index)
                })
            })
        })
    </script>
</body>
</html>
复制代码

  这样看似没问题,实则无法实现预期的弹出层效果,因为a是一个超链接,点击后会默认有跳转行为,因而弹出层事件只能短暂触发,而后迅速消失。

  其实要解决这个问题,有几种办法,其一,直接删除href属性即可解决。其二、给href属性赋值,使其等于javascript:void(0); 这样就可以阻止超链接的跳转行为,也可以解决问题。其三,就是不使用a标签,而改用button按钮,就可以避免这个问题

posted @   江峰★  阅读(334)  评论(0编辑  收藏  举报
编辑推荐:
· 如何编写易于单元测试的代码
· 10年+ .NET Coder 心语,封装的思维:从隐藏、稳定开始理解其本质意义
· .NET Core 中如何实现缓存的预热?
· 从 HTTP 原因短语缺失研究 HTTP/2 和 HTTP/3 的设计差异
· AI与.NET技术实操系列:向量存储与相似性搜索在 .NET 中的实现
阅读排行:
· 周边上新:园子的第一款马克杯温暖上架
· Open-Sora 2.0 重磅开源!
· 分享 3 个 .NET 开源的文件压缩处理库,助力快速实现文件压缩解压功能!
· Ollama——大语言模型本地部署的极速利器
· DeepSeek如何颠覆传统软件测试?测试工程师会被淘汰吗?
点击右上角即可分享
微信分享提示