jQuery模糊()不工作?

3Do*_*Dom 5 jquery blur

完全被这里难住了.尝试一些非常简单的东西,但它不起作用:

$("input.input1, textarea.input1").focus(function(){
    $(this).addClass("input2").removeClass("input1");
});
$("input.input2, textarea.input2").blur(function(){
    $(this).addClass("input1").removeClass("input2");
});
Run Code Online (Sandbox Code Playgroud)

基本上模糊不会发射.我点击输入框,框就会改变.我点击了框,没有任何反应.任何帮助都会很棒.

tva*_*son 15

您需要使用委托处理程序,因为在应用处理程序时输入没有类input2.

$(document).on('focus','input.input1, textarea.input1', function() {
    $(this).addClass('input2').removeClass('input1');
});
$(document).on('blur','input.input2, textarea.input2', function() {
    $(this).addClass('input1').removeClass('input2');
});
Run Code Online (Sandbox Code Playgroud)

但是,可能有更好的方法来做到这一点.我建议使用第三个类来标记需要切换类的输入,然后在事件发生时切换类.

$('.needsToggle').on('focus blur', function() {
     $(this).toggleClass('input1 input2');
});
Run Code Online (Sandbox Code Playgroud)

如果他们总是有课程input1开始,你可以使用它而不是needsToggle.