佳木斯湛栽影视文化发展公司

主頁 > 知識庫 > html5默認氣泡修改的代碼詳解

html5默認氣泡修改的代碼詳解

熱門標簽:美圖手機 使用U盤裝系統(tǒng) 阿里云 智能手機 檢查注冊表項 百度競價點擊價格的計算公式 硅谷的囚徒呼叫中心 網站建設

html5默認氣泡修改

默認的瀏覽器氣泡樣式:

谷歌瀏覽器

 
 

火狐瀏覽器

 
 

IE瀏覽器

 
 

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

::-webkit-validation-bubble 不過已被廢棄?。。?/p>

新的解決方案:

效果圖:

 
 

<!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)

            //點擊提交觸發(fā)的事件
            submit.addEventListener("click",function(e){
                var invalids=form.querySelectorAll(":invalid"),
                    errMsgs=form.querySelectorAll(".error-msg"),
                    parent;

                //循環(huán),清除掉上一次添加的所有錯誤信息
                for(var i=0;i<errMsgs.length;i++){
                    errMsgs[i].parentNode.removeChild(errMsgs[i]);
                }

                //循環(huán),添加新的錯誤信息
                for(var i=0;i<invalids.length;i++){
                    parent=invalids[i].parentNode;
                    /*
                    element.insertAdjacentHTML(position, text);
                    beforebegin: 元素自身的前面。
                    afterbegin: 插入元素內部的第一個子節(jié)點之前。
                    beforeend: 插入元素內部的最后一個子節(jié)點之后。
                    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默認氣泡修改內容請搜索腳本之家以前的文章或繼續(xù)瀏覽下面的相關文章,希望大家以后多多支持腳本之家!

標簽:山南 賀州 懷化 湖北 黃山 通遼 煙臺 湘潭

巨人網絡通訊聲明:本文標題《html5默認氣泡修改的代碼詳解》,本文關鍵詞  ;如發(fā)現本文內容存在版權問題,煩請?zhí)峁┫嚓P信息告之我們,我們將及時溝通與處理。本站內容系統(tǒng)采集于網絡,涉及言論、版權與本站無關。
  • 相關文章
  • 收縮
    • 微信客服
    • 微信二維碼
    • 電話咨詢

    • 400-1100-266
    松潘县| 措美县| 齐齐哈尔市| 象山县| 抚州市| 东光县| 桓台县| 泸水县| 阿图什市| 建水县| 左云县| 耒阳市| 进贤县| 三门县| 株洲市| 拜城县| 宿迁市| 紫云| 曲沃县| 沽源县| 永年县| 旬阳县| 龙山县| 固阳县| 辛集市| 榆树市| 凤凰县| 长乐市| 怀仁县| 襄汾县| 孟州市| 赤壁市| 龙海市| 胶州市| 穆棱市| 勃利县| 梨树县| 全州县| 墨玉县| 内乡县| 株洲市|