CSS中hover触发的事件JS能够监听吗

html-css024

CSS中hover触发的事件JS能够监听吗,第1张

你的理解有错误,不是css中的hover触发了事件,是鼠标的运作触发了hover事件,浏览器内核是第一个捕捉到事件的机构,它把事件传播到了JS引擎,JS引擎解析了你的JS代码和现有的CSS修饰,使所有应当响应这个hover事件的代码运作起来,所以css和js中有关hover的代码是在同一个hover事件触发条件下各自运行的,互不干扰。

你既然是动态生成的 那么 左边的原点 也肯定 要是动态生成 样式肯定要和上面一样对吧 比如说 样式都是.a

那么可以统一定位写jquery

$(".a").hover(function(){

$(this).css("background","blue")//你这是变图片 把css里 按照自己要变化的东西去弄就行 这里是悬浮时

},function(){

$(this).css("background","blue")//你这是变图片 把css里 按照自己要变化的东西去弄就行 这里是离开时

})

<input onkeyup="usrNameSet(this)" />

其它的自己可以随便调用

Js部分

//只能输入数字、字母、小数点、汉字、@

function usrNameSet(num){

var str=num.value

//var str = document.getElementById("userName").value

var value=str.replace(/[^\a-\z\A-\Z0-9\u4E00-\u9FA5\@\.]/g,'')

document.getElementById("userName").value=value

}

//手机号码、手机验证码,只能输入数字

function numberSet(num){

var str=num.value

var value=str.replace(/[^0-9]/g,'')

num.value=value

}

//推广码验证,只能输入数字跟字母

function spreadCodeSet(num){

var str=num.value

var value=str.replace(/[^\w\.\/]/g,'')

num.value=value

}

//密码设置 不能为空格

function passwordSet(num){

/*

var str=document.getElementById("password").value

var value=str.replace(/^ +| +$/g,'')

document.getElementById("password").value=value

*/

var str=num.value

var value=str.replace(/^ +| +$/g,'')

num.value=value

}

//登陆验证码

//只能是4位字母或数字

function UserVerifycodeSet(){

var str=document.getElementById("verifycode").value

var value=str.replace(/[^a-zA-Z0-9]/g,'')

document.getElementById("verifycode").value=value

}

//姓名和身份证认证

function nameNumberSet(num){

if(num.id=='text_name')//姓名 只能输入汉字

{

var str=num.value

var value=str.replace(/[^\u4E00-\u9FA5]/g,'')

num.value=value

}

else if(num.id=='text_idcard'){//身份证只能是数字和字母

var str=num.value

var value=str.replace(/[^a-zA-Z0-9]/g,'')

num.value=value

}

}

//邮箱输入 //只能输入数字、字母、小数点、汉字、@、-

function myMailSet(num){

var str=num.value

var value = str.replace(/[^\a-\z\A-\Z0-9\u4E00-\u9FA5\@\.\-\_]/g,'')

num.value=value

}

//充值输入设置,小数点后只能两位

function moneyInput(num){

//var str=num.value

//alert(str)

//var value=str.replace(function(){

//if(this.value==this.value2)returnif(this.value.search(/^\d*(?:\.\d{0,2})?$/)==-1)this.value=(this.value2)?this.value2:''else

this.value2=this.value

//})

//var value=str.toFixed(2)

// var value = str.replace(/[^a-zA-Z0-9]/g,'')

// num.value=value

if(num.value==num.value2)return

if(num.value.search(/^\d*(?:\.\d{0,2})?$/)==-1)

num.value=(num.value2)?num.value2:''

else num.value2=num.value

}

//地址输入设置

//只能输入数字、字母、

function addressSet(num){

var str=num.value

var value=str.replace(/[^\u4e00-\u9fa5\w]/g,'')

num.value=value

}

//银行卡输入设置

function formatBankNoSet(BankNo){

//alert(BankNo.value)

var str=BankNo.value

var value=str.replace(/[^0-9]/g,'')

BankNo.value=value

}

//只能输入字母、汉字

function cnOrEn(num){

var str=num.value

var value=str.replace(/[^\a-zA-Z\u4E00-\u9FA5]/g,'')

num.value=value

}