2014-03-26 52 views
3

我有这个字段,我想检查它是否有效,如果不是这种情况,我想显示popover。输入完成后显示bootstrap popover

$(document).ready(function(){ 

$('input[name=email]').keyup(email_check); 
}); 

function email_check(){ 

    $('input[name=email]').parent().removeClass("has-error has-feedback").removeClass("has-success has-feedback"); 
    $('span.glyphicon').remove(); 
    var email = $('input[name=email]').val() 
if(!isValidEmailAddress(email)) { 

$("input[name=email]").popover({trigger: 'focus', content: "Error!", placement : 'bottom'}); 
$('input[name=email]').parent().addClass("has-error has-feedback").append("<span class='glyphicon glyphicon-remove form-control-feedback'></span>"); 
return false; 
    }else{ 
     $("input[name=email]").popover({trigger: 'focus', content: "Valid!", placement : 'bottom'}); 
     $('input[name=email]').parent().addClass("has-success has-feedback").append("<span class='glyphicon glyphicon-ok form-control-feedback'></span>"); 

    return true; 
    } 
} 

这里的问题是,popover不会显示,直到我离开现场并再次关注它!希望你明白我的意思!我该如何解决它?

非常感谢!

回答

4

http://bootply.com/124932

您需要的酥料饼触发更改为manual,然后使用show方法来显示酥料饼...

$("input[name=email]").popover({trigger: 'manual', content: "Error!", placement : 'bottom'}); 
$("input[name=email]").popover('show'); 
+0

它的伟大工程,但有一种方式来显示它打字后不在? – SpencerX

+0

不是真的,因为每次用户键入时都会发生'keyup'。看看这个线程的一个keyup'延迟'方法:http://stackoverflow.com/questions/1909441/jquery-keyup-delay – ZimSystem