html5默认气泡修改的代码详解


Posted in HTML / CSS onMarch 13, 2020

html5默认气泡修改

默认的浏览器气泡样式:

谷歌浏览器

html5默认气泡修改的代码详解 
 

火狐浏览器

html5默认气泡修改的代码详解 
 

IE浏览器

html5默认气泡修改的代码详解 
 

在谷歌29版本之前可以使用伪元素进行修改:

::-webkit-validation-bubble 不过已被废弃!!!

新的解决方案:

效果图:

html5默认气泡修改的代码详解 
 

<!DOCTYPE html>
<html lang="en">
<head>
    <meta charset="UTF-8">
    <title>form</title>
    <style>
        .container{margin:100px;font-size:14px;position: relative;}
        .item{position: relative;width:250px;height:40px;margin-bottom: 10px;}
        input{width:250px;height:20px;line-height:20px;border-radius: 4px;border:1px solid #999;color:#999;margin-bottom:10px;padding:5px;position: absolute;left:66px;}
        input:focus{border:2px solid rgb(90,152,210);}
        .item label{position: absolute;left:0;top:5px;}
        input[type=submit]{height:30px;line-height:20px;position:absolute;left:0;background-color: rgb(90,152,210);color:#fff;width:60px;}
        .error-msg{
            color: red;
            font-size: 12px;
            position: absolute;
            bottom: -8px;
            left: 65px;
            width: 329px;
        }
    </style>
</head>
<body>
    <div class="container">
        <form action="#" id="form">
            <div class="item">
                <label for="username">用户名</label>
                <input type="text" id="username" required pattern="^1[0-9]{10}$">
            </div>
            <div class="item">
                <label for="password">邮箱</label>
                <input type="email" id="email" required>
            </div>
            <input type="submit" value="提交" id="submit">
        </form>
    </div>
    <script>
        function myui(form){
            //阻止默认气泡
            form.addEventListener("invalid",function(e){
                e.preventDefault();
            },true)
            //注意要设置为true
            //当Event对象的cancelable为false时,表示没有默认行为,这时即使有默认行为,调用 preventDefault也是不会起作用的

            //验证不通过,则阻止表单提交
            form.addEventListener("submit",function(e){
                if(!this.checkValidity()){
                    e.preventDefault();
                }
                
            },true)

            //点击提交触发的事件
            submit.addEventListener("click",function(e){
                var invalids=form.querySelectorAll(":invalid"),
                    errMsgs=form.querySelectorAll(".error-msg"),
                    parent;

                //循环,清除掉上一次添加的所有错误信息
                for(var i=0;i<errMsgs.length;i++){
                    errMsgs[i].parentNode.removeChild(errMsgs[i]);
                }

                //循环,添加新的错误信息
                for(var i=0;i<invalids.length;i++){
                    parent=invalids[i].parentNode;
                    /*
                    element.insertAdjacentHTML(position, text);
                    beforebegin: 元素自身的前面。
                    afterbegin: 插入元素内部的第一个子节点之前。
                    beforeend: 插入元素内部的最后一个子节点之后。
                    afterend: 元素自身的后面。
                    text是要被解析为HTML或XML,并插入到DOM树中的字符串

                     */
                    parent.insertAdjacentHTML("beforeend","<div class='error-msg'>"+invalids[i].validationMessage+"</div>");
                }

                //如果存在错误信息,则给第一个错误信息一个focus
                if(invalids.length>0){
                    invalids[0].focus();
                }
            })
        }
        myui(form);
    </script>
</body>
</html>

 总结

到此这篇关于html5默认气泡修改的代码详解的文章就介绍到这了,更多相关html5默认气泡修改内容请搜索三水点靠木以前的文章或继续浏览下面的相关文章,希望大家以后多多支持三水点靠木!

HTML / CSS 相关文章推荐
CSS3动画之利用requestAnimationFrame触发重新播放功能
Sep 11 HTML / CSS
详解CSS3 弹性布局快速入门
Jun 06 HTML / CSS
使用CSS3配合IE滤镜实现渐变和投影的效果
Sep 06 HTML / CSS
轻松掌握CSS3中的字体大小单位rem的使用方法
May 24 HTML / CSS
CSS3 旋转立方体问题详解
Jan 09 HTML / CSS
HTML5 本地存储 LocalStorage详解
Jun 24 HTML / CSS
HTML5实现的震撼3D焦点图动画的示例代码
Sep 26 HTML / CSS
HTML5之WebGL 3D概述(上)—WebGL原生开发开启网页3D渲染新时代
Jan 31 HTML / CSS
HTML5样式控制示例代码
Nov 27 HTML / CSS
在HTML5 Canvas中放入图片和保存为图片的方法
May 03 HTML / CSS
详解HTML5中的元素与元素
Aug 17 HTML / CSS
css filter和getUserMedia的联合使用
Feb 24 HTML / CSS
canvas如何实现多张图片编辑的图片编辑器
Mar 10 #HTML / CSS
HTML5表单验证特性(知识点小结)
Mar 10 #HTML / CSS
html5 datalist 选中option选项后的触发事件
Mar 05 #HTML / CSS
关于解决iframe标签嵌套问题的解决方法
Mar 04 #HTML / CSS
Html5 video标签视频的最佳实践
Feb 26 #HTML / CSS
HTML如何让IMG自动适应DIV容器大小的实现方法
Feb 25 #HTML / CSS
HTML实现代码雨源码及效果示例
Feb 25 #HTML / CSS
You might like
PHP获取服务器端信息的方法
2014/11/28 PHP
PhpStorm terminal无法输入命令的解决方法
2016/10/09 PHP
PHP写的简单数字验证码实例
2017/05/23 PHP
用js实现的一个Flash滚动轮换显示图片代码生成器
2007/03/14 Javascript
json格式化/压缩工具 Chrome插件扩展版
2010/05/25 Javascript
jquery事件机制扩展插件 jquery鼠标右键事件
2011/12/21 Javascript
使用jQuery中的when实现多个AJAX请求对应单个回调的例子分享
2014/04/23 Javascript
javascript中expression的用法整理
2014/05/13 Javascript
js检测网络是否具体连接功能的代码
2014/05/23 Javascript
js使用正则实现ReplaceAll全部替换的方法
2014/07/18 Javascript
jQuery中before()方法用法实例
2014/12/25 Javascript
jquery实现焦点图片随机切换效果的方法
2015/03/12 Javascript
jquery+CSS实现的多级竖向展开树形TRee菜单效果
2015/08/24 Javascript
javaScript实现滚动条事件详解
2020/03/24 Javascript
vue2 router 动态传参,多个参数的实例
2017/11/10 Javascript
axios对请求各种异常情况处理的封装方法
2018/09/25 Javascript
axios 封装上传文件的请求方法
2018/09/26 Javascript
vue.js 2.0实现简单分页效果
2019/07/29 Javascript
Python常用知识点汇总
2016/05/08 Python
浅谈Python处理PDF的方法
2017/11/10 Python
python机器学习理论与实战(四)逻辑回归
2018/01/19 Python
python微信跳一跳系列之棋子定位颜色识别
2018/02/26 Python
python+webdriver自动化环境搭建步骤详解
2019/06/03 Python
Python爬虫学习之翻译小程序
2019/07/30 Python
python 截取XML中bndbox的坐标中的图像,另存为jpg的实例
2020/03/10 Python
HTML5中使用postMessage实现两个网页间传递数据
2016/06/22 HTML / CSS
美国女性服饰销售网站:Nasty Gal(坏女孩)
2016/07/26 全球购物
幼儿教师思想汇报
2014/01/10 职场文书
老师给学生的表扬信
2014/01/17 职场文书
幼儿园教师的考核评语
2014/04/18 职场文书
竞选大队委员演讲稿
2014/04/28 职场文书
授权委托书格式
2014/07/31 职场文书
检讨书范文500字
2015/01/28 职场文书
Python基础之元类详解
2021/04/29 Python
使用feign服务调用添加Header参数
2021/06/23 Java/Android
一小时迅速入门Mybatis之bind与多数据源支持 Java API
2021/09/15 Javascript