Jquery 不开火

Jquery 不开火,jquery,onblur,Jquery,Onblur,我无法让这个简单的jQueryonblur处理程序添加适当的类。不会向控制台返回任何错误,模糊事件也不会发生任何事情。我做错了什么 我已经验证了jQuery已经正确加载并且工作正常 $(文档).ready(函数(){ $('#nameInput')。在('blur',function()上{ $('#nameInput').addClass('has-success'); }); }); 名称 您可能想测试一下 $(document).ready( function(){ $(doc

我无法让这个简单的jQuery
onblur
处理程序添加适当的类。不会向控制台返回任何错误,模糊事件也不会发生任何事情。我做错了什么

我已经验证了jQuery已经正确加载并且工作正常

$(文档).ready(函数(){
$('#nameInput')。在('blur',function()上{
$('#nameInput').addClass('has-success');
});
});

名称

您可能想测试一下

$(document).ready( function(){
    $(document).on('blur', '#nameInput', function() { 
    $(this).addClass('has-success');
    });  
}); 
您将处理程序添加到div而不是输入,但div不会引发模糊事件。所以您只需要向输入中添加处理程序,如

$('#nameInput input').on('blur', function() {
    $('#nameInput').addClass('has-success');
});
其他解决方案:

  • 将id从div移动到input
  • 将选择器更改为输入id

  • 模糊事件不会冒泡,因此它将永远不会到达div。如果改用focusout事件,它将起作用

    $(文档).ready(函数(){
    $('#nameInput')。on('focusout',function(){
    $('#nameInput').addClass('has-success');
    });
    });
    
    
    名称
    
    一点解释可能会有帮助。代码中没有任何语法错误@DLeh:很抱歉。下面是相关的代码@GeorgeSpelvin
    div
    没有
    blur
    事件;-)您需要将处理程序添加到输入元素,而不是在问题中添加相关标记可能的重复项,但此事件似乎在firefox中不起作用:在firefox 34.0.5和38.0.1窗口中对我有效。