2012-11-05 96 views
0

我有一個腳本,像這樣:jQuery觸發器更改不失焦點?

$(".b").hide(); 
$(".uid").bind("change", function() { 
    if($(this).val().length>0) { 
     $(".b").show(); 
    } else { 
     $(".b").hide(); 
    } 
}); 

這工作,你所期望的,但是,要獲得「.B」顯示,我要離開的「.uid」的焦點。有什麼辦法可以得到「。」無需點擊「.uid」外部顯示?這是一個隱藏的提交按鈕,直到將某些內容輸入到文本字段中,並且我希望在輸入內容後立即顯示,而不必點擊該字段。

回答

3

您可以使用keyup代替:

$(".b").hide(); 
$(".uid").on("keyup", function() { 
    if($(this).val().length>0) { 
     $(".b").show(); 
    } else { 
     $(".b").hide(); 
    } 
});​ 

http://jsfiddle.net/zerkms/YCGw9/

+0

或許KEYUP _and_變化,這樣當用戶執行拖放或粘貼,而無需使用鍵盤它仍然會正常工作。 – nnnnnn

+1

@nnnnnn:...和鼠標事件 - 如果右鍵點擊 - >粘貼。這完全取決於OP如何堅實。 – zerkms