Jquery 仅当输入字段未聚焦时更改(输入事件)

Jquery 仅当输入字段未聚焦时更改(输入事件),jquery,events,input,Jquery,Events,Input,$(文档)。在('click','#register continue',函数()上{ $('.modal register form:input[type=text],.modal register form:input[type=email],.modal register form:input[type=password])。每个(函数(){ $(this).on('input',function(){ if($(this.val().length){ $(this.css)({ 边框:“

$(文档)。在('click','#register continue',函数()上{
$('.modal register form:input[type=text],.modal register form:input[type=email],.modal register form:input[type=password])。每个(函数(){
$(this).on('input',function(){
if($(this.val().length){
$(this.css)({
边框:“1px实心”
});
}否则{
$(this.css)({
边框:“1px实心#fe0000”
});
}
});
});
});

持续

基于我对您问题的理解:

您的代码无法工作,因为您试图在事件中获取事件。只需为
keyup
创建第二个事件。css阻止默认的浏览器焦点行为

你可以随意改变活动

var选择器=$('.model寄存器形式:输入[type=text],.model寄存器形式:输入[type=email],.model寄存器形式:输入[type=password]);
$(文档)。在('单击','注册继续',函数()上){
选择器。每个(函数(){
更改颜色($(此));
});
});
选择器.on('focus focusout keyup',function(){
更改颜色($(此));
});
函数更改颜色(elm){
if(elm.val().length){
elm.css({
边框:“1px实心”
});
}否则{
elm.css({
边框:“1px实心#fe0000”
});
}
}
。模态寄存器窗体输入{
轮廓宽度:0;
边框:1px实心#e5;
}

持续

使用
.on()
方法委派
聚焦
模糊
事件,并将这两种样式设置为一个条件,因为
输入
将聚焦或非聚焦。如果需要初始边框样式,可以使用CSS。以下演示将在
focus
事件上将输入边框更改为蓝色,在
blur
事件上将输入边框更改为红色,最初也是如此


演示
$('input')。打开('focus blur',函数(e){
如果(e.type==='focus'){
$(this.css('border','1px solid#e5');
}否则{
$(this.css('border','1px solid#fe0000');
}
});
输入,
钮扣{
显示:内联块;
字号:1rem;
线高:1.5;
}
输入{
边框:1px实心#fe0000;
宽度:39%;
填充:3倍;
}

继续

是否希望禁用浏览器添加到输入字段的默认边框,而希望在输入处于焦点时边框消失?