2014-03-26 78 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