这是我的代码:
function removeWrongClass(el){
el.removeClass('wrong');
}
$(".ask_q_title_input").on('focus', removeWrongClass($(this)));
.wrong{
background:red;
}
<script src="https://ajax.googleapis.com/ajax/libs/jquery/2.1.1/jquery.min.js"></script>
<input class="ask_q_title_input wrong" type="text" />
当您专注于输入时,预期的行为是从输入中删除红色背景颜色(这是因为.wrong
类)。但它不会发生。怎么了?我该如何解决?
答案 0 :(得分:0)
正如其他人所说,你正在调用该函数,而不是将其作为要运行的函数传递。
function removeWrongClass(){
$(this).removeClass('wrong');
}
function toggleWrongClass(){
$(this).toggleClass('wrong');
}
$(".ask_q_title_input").on('focus', removeWrongClass);
$(".ask_q_title_input_toggle").on('focus focusout', toggleWrongClass);
.wrong{
background:red;
}
<script src="https://ajax.googleapis.com/ajax/libs/jquery/2.1.1/jquery.min.js"></script>
Turn off wrong on focus - <input class="ask_q_title_input wrong" type="text" /><br/>
Toggle wrong on focus in and out - <input class="ask_q_title_input_toggle wrong" type="text" />
如果您想在另一个元素上使用removeWrongClass
,可以按以下方式调用它 -
removeWrongClass.call(elementYouWantAsThis)