html5默认气泡修改的代码详解
导读:收集整理的这篇文章主要介绍了html5默认气泡修改的代码详解,觉得挺不错的,现在分享给大家,也给大家做个参考。 htML5默认气泡修改默认的浏览器气泡样式:谷歌浏览器 火狐浏览器 IE浏览器 在谷歌29版本之前可以使用伪元素...
收集整理的这篇文章主要介绍了html5默认气泡修改的代码详解,觉得挺不错的,现在分享给大家,也给大家做个参考。 htML5默认气泡修改
默认的浏览器气泡样式:
谷歌浏览器
火狐浏览器
IE浏览器
在谷歌29版本之前可以使用伪元素进行修改:
::-webkit-validation-bubble 不过已被废弃!!!
新的解决方案:
效果图:
!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;
ierrMsgs.length;
i++){
errMsgs[i].parentNode.removeChild(errMsgs[i]);
}
//循环,添加新的错误信息 for(var i=0;
iinvalids.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默认气泡修改内容请搜索以前的文章或继续浏览下面的相关文章,希望大家以后多多支持!
声明:本文内容由网友自发贡献,本站不承担相应法律责任。对本内容有异议或投诉,请联系2913721942#qq.com核实处理,我们将尽快回复您,谢谢合作!
若转载请注明出处: html5默认气泡修改的代码详解
本文地址: https://pptw.com/jishu/586082.html
