繁体   English   中英

为什么焦点事件不能正常工作?

[英]Why focus event doesn't work correctly?

这是我的代码:

 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类) 但它不会发生。 怎么了? 我该如何解决?

正如其他人所说,您正在调用该函数,而不是将其作为要运行的函数传递。

 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)

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM