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实现波纹特效、H5实现动态波浪效果
Jan 31 HTML / CSS
用CSS3实现瀑布流布局的示例代码
Nov 10 HTML / CSS
HTML5网页录音和上传到服务器支持PC、Android,支持IOS微信功能
Apr 26 HTML / CSS
html5的画布canvas——画出简单的矩形、三角形实例代码
Jun 09 HTML / CSS
谈一谈HTML5本地存储技术
Mar 02 HTML / CSS
HTML5拖放效果的实现代码
Nov 17 HTML / CSS
HTML5中indexedDB 数据库的使用实例
May 11 HTML / CSS
H5 canvas实现贪吃蛇小游戏
Jul 28 HTML / CSS
Html5 video标签视频的最佳实践
Feb 26 HTML / CSS
app内嵌H5 webview 本地缓存问题的解决
Oct 19 HTML / CSS
关于webview适配H5上传照片或者视频文件的方法
Nov 04 HTML / CSS
Li list-style-image 图片垂直居中实现方法
May 21 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 删除目录下N分钟前创建的所有文件的实现代码
2013/08/10 PHP
通过PHP简单实例介绍文件上传
2015/12/16 PHP
PHP PDOStatement::bindParam讲解
2019/01/30 PHP
laravel框架创建授权策略实例分析
2019/11/22 PHP
用ASP将SQL搜索出来的内容导出为TXT的代码
2007/07/27 Javascript
浏览器无法运行JAVA脚本的解决方法
2008/01/09 Javascript
javascript下string.format函数补充
2010/08/24 Javascript
js 遍历对象的属性的代码
2011/12/29 Javascript
浏览器窗口加载和大小改变事件示例
2014/02/27 Javascript
Jquery实现侧边栏跟随滚动条固定(兼容IE6)
2014/04/02 Javascript
JS动态添加Table的TR,TD实现方法
2015/01/28 Javascript
JS实现5秒钟自动封锁div层的方法
2015/02/20 Javascript
jQuery提示插件alertify使用指南
2015/04/21 Javascript
JS实现从网页顶部掉下弹出层效果的方法
2015/08/06 Javascript
基于Node.js的强大爬虫 能直接发布抓取的文章哦
2016/01/10 Javascript
浅谈JavaScript中小数和大整数的精度丢失
2016/05/31 Javascript
JavaScript高阶函数_动力节点Java学院整理
2017/06/28 Javascript
axios全局请求参数设置,请求及返回拦截器的方法
2018/03/05 Javascript
使用D3.js+Vue实现一个简单的柱形图
2018/08/05 Javascript
解决layui数据表格Date日期格式的回显Object的问题
2019/09/19 Javascript
探索浏览器页面关闭window.close()的使用详解
2020/08/21 Javascript
vue实现拖拽进度条
2021/03/01 Vue.js
python文字转语音实现过程解析
2019/11/12 Python
keras实现基于孪生网络的图片相似度计算方式
2020/06/11 Python
Python使用文件操作实现一个XX信息管理系统的示例
2020/07/02 Python
CSS3 中的@keyframes介绍
2014/09/02 HTML / CSS
html5中canvas学习笔记1-画板的尺寸与实际显示尺寸
2013/01/06 HTML / CSS
教师推荐信范文
2013/11/24 职场文书
《登鹳雀楼》教学反思
2014/04/09 职场文书
专项法律服务方案
2014/06/11 职场文书
学习优秀共产党员先进事迹思想报告
2014/09/17 职场文书
2014年办公室工作总结范文
2014/11/12 职场文书
2016党员读书思廉心得体会
2016/01/23 职场文书
导游词之西递宏村
2019/12/10 职场文书
python引入其他文件夹下的py文件具体方法
2021/05/23 Python
python中的3种定义类方法
2021/11/27 Python